Skip to content
Heist/ feed
Back to feed
Low

Push Endpoint Returns Permissive CORS Headers

Type: advisorySources: Official CVE List

The push endpoint of a Vaadin application that uses server push reflects the request Origin into the Access-Control-Allow-Origin response header and allows credentials, because Flow configures Atmosphere with DROP_ACCESS_CONTROL_ALLOW_ORIGIN_HEADER set to false and its CorsInterceptor then echoes whatever Origin the request carries. A page on any origin can therefore make a cross origin request to that endpoint with the user's cookies and read the response, although reading anything useful also requires the push identifier of that session. Applications that do not use @Push are not affected, and neither is the WebSocket transport. The behaviour was introduced in January 2015 and is present in every Flow release and in Vaadin Framework from 7.1.0, which is when push was added. Users of affected versions should apply the following mitigation or upgrade. Releases that have fixed this issue include: Product version Vaadin 14.14.0 - 14.14.7 Vaadin 23.6.0 - 23.6.16 Vaadin 24.4.0 - 24.4.25 Vaadin 24.5.0 - 24.5.15 Vaadin 24.6.0 - 24.6.13 Vaadin 24.7.0 - 24.7.16 Vaadin 24.8.0 - 24.8.17 Vaadin 24.9.0 - 24.9.23 Vaadin 24.10.0 - 24.10.11 Vaadin 25.0.0 - 25.0.13 Vaadin 25.1.0 - 25.1.13 Vaadin 25.2.0 - 25.2.10 Vaadin 25.3.0 - 25.3.2 Vaadin Framework 7.1.0 - 7.7.54 Vaadin Framework 8.0.0 - 8.32.1 Mitigation Upgrade to 14.14.8 Upgrade to 23.6.17 Upgrade to 24.4.26 Upgrade to 24.7.17 Upgrade to 24.7.17 Upgrade to 24.7.17 Upgrade to 24.9.24 Upgrade to 24.9.24 Upgrade to 24.10.12 Upgrade to 25.

Products
flow, framework, vaadin
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-110737
Confirmed fixed CVEs
Not specified
Updated in this feed
31 Oct 2026, 13:47 UTC · Revision 1

Source evidence

Push Endpoint Returns Permissive CORS Headers

core-cve · Original source

Published 27 Oct 2026, 10:26 UTC

The push endpoint of a Vaadin application that uses server push reflects the request Origin into the Access-Control-Allow-Origin response header and allows credentials, because Flow configures Atmosphere with DROP_ACCESS_CONTROL_ALLOW_ORIGIN_HEADER set to false and its CorsInterceptor then echoes whatever Origin the request carries. A page on any origin can therefore make a cross origin request to that endpoint with the user's cookies and read the response, although reading anything useful also requires the push identifier of that session. Applications that do not use @Push are not affected, and neither is the WebSocket transport. The behaviour was introduced in January 2015 and is present in every Flow release and in Vaadin Framework from 7.1.0, which is when push was added. Users of affected versions should apply the following mitigation or upgrade. Releases that have fixed this issue include: Product version Vaadin 14.14.0 - 14.14.7 Vaadin 23.6.0 - 23.6.16 Vaadin 24.4.0 - 24.4.25 Vaadin 24.5.0 - 24.5.15 Vaadin 24.6.0 - 24.6.13 Vaadin 24.7.0 - 24.7.16 Vaadin 24.8.0 - 24.8.17 Vaadin 24.9.0 - 24.9.23 Vaadin 24.10.0 - 24.10.11 Vaadin 25.0.0 - 25.0.13 Vaadin 25.1.0 - 25.1.13 Vaadin 25.2.0 - 25.2.10 Vaadin 25.3.0 - 25.3.2 Vaadin Framework 7.1.0 - 7.7.54 Vaadin Framework 8.0.0 - 8.32.1 Mitigation Upgrade to 14.14.8 Upgrade to 23.6.17 Upgrade to 24.4.26 Upgrade to 24.7.17 Upgrade to 24.7.17 Upgrade to 24.7.17 Upgrade to 24.9.24 Upgrade to 24.9.24 Upgrade to 24.10.12 Upgrade to 25.

cve:CVE-2026-110737

vaadin

Fixed versions: Not specified

vaadin

Fixed versions: Not specified

flow

Fixed versions: Not specified

framework

Fixed versions: Not specified

framework

Fixed versions: Not specified

Complete source record
{
  "id": "f9ce190fe8c09b6ff71e80587c598d9e1e10ea3586c3a4ad77b52d2a0bfb4ed4",
  "url": "https://www.cve.org/CVERecord?id=CVE-2026-110737",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Push Endpoint Returns Permissive CORS Headers",
    "summary": "The push endpoint of a Vaadin application that uses server push reflects the request Origin into the Access-Control-Allow-Origin response header and allows credentials, because Flow configures Atmosphere with DROP_ACCESS_CONTROL_ALLOW_ORIGIN_HEADER set to false and its CorsInterceptor then echoes whatever Origin the request carries. A page on any origin can therefore make a cross origin request to that endpoint with the user's cookies and read the response, although reading anything useful also requires the push identifier of that session. Applications that do not use @Push are not affected, and neither is the WebSocket transport. The behaviour was introduced in January 2015 and is present in every Flow release and in Vaadin Framework from 7.1.0, which is when push was added. Users of affected versions should apply the following mitigation or upgrade. Releases that have fixed this issue include: Product version Vaadin 14.14.0 - 14.14.7 Vaadin 23.6.0 - 23.6.16 Vaadin 24.4.0 - 24.4.25 Vaadin 24.5.0 - 24.5.15 Vaadin 24.6.0 - 24.6.13 Vaadin 24.7.0 - 24.7.16 Vaadin 24.8.0 - 24.8.17 Vaadin 24.9.0 - 24.9.23 Vaadin 24.10.0 - 24.10.11 Vaadin 25.0.0 - 25.0.13 Vaadin 25.1.0 - 25.1.13 Vaadin 25.2.0 - 25.2.10 Vaadin 25.3.0 - 25.3.2 Vaadin Framework 7.1.0 - 7.7.54 Vaadin Framework 8.0.0 - 8.32.1 Mitigation Upgrade to 14.14.8 Upgrade to 23.6.17 Upgrade to 24.4.26 Upgrade to 24.7.17 Upgrade to 24.7.17 Upgrade to 24.7.17 Upgrade to 24.9.24 Upgrade to 24.9.24 Upgrade to 24.10.12 Upgrade to 25.",
    "evidence": "cve:CVE-2026-110737",
    "products": [
      {
        "name": {
          "value": "vaadin",
          "evidence": "/containers/cna/affected/0/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      },
      {
        "name": {
          "value": "vaadin",
          "evidence": "/containers/cna/affected/1/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      },
      {
        "name": {
          "value": "flow",
          "evidence": "/containers/cna/affected/2/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      },
      {
        "name": {
          "value": "framework",
          "evidence": "/containers/cna/affected/3/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      },
      {
        "name": {
          "value": "framework",
          "evidence": "/containers/cna/affected/4/product"
        },
        "prerequisites": [],
        "fixed_versions": [],
        "affected_versions": []
      }
    ],
    "severity": "low",
    "structured": {
      "id": "CVE-2026-110737",
      "aliases": [
        "CVE-2026-110737"
      ],
      "metrics": [
        {
          "format": "CVSS",
          "cvssV4_0": {
            "Safety": "NEGLIGIBLE",
            "version": "4.0",
            "Recovery": "AUTOMATIC",
            "baseScore": 2.3,
            "Automatable": "NO",
            "attackVector": "NETWORK",
            "baseSeverity": "LOW",
            "valueDensity": "DIFFUSE",
            "vectorString": "CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N",
            "providerUrgency": "CLEAR",
            "userInteraction": "PASSIVE",
            "attackComplexity": "HIGH",
            "attackRequirements": "NONE",
            "privilegesRequired": "NONE",
            "subIntegrityImpact": "NONE",
            "vulnIntegrityImpact": "NONE",
            "subAvailabilityImpact": "NONE",
            "vulnAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "vulnConfidentialityImpact": "LOW",
            "vulnerabilityResponseEffort": "LOW"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "affected": [
        {
          "repo": "https://github.com/vaadin/platform",
          "vendor": "vaadin",
          "product": "vaadin",
          "versions": [
            {
              "status": "affected",
              "version": "14.14.0",
              "lessThan": "14.14.8",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "23.6.0",
              "lessThan": "23.6.17",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "24.4.0",
              "lessThan": "24.4.26",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "24.5.0",
              "versionType": "maven",
              "lessThanOrEqual": "24.5.15"
            },
            {
              "status": "affected",
              "version": "24.6.0",
              "versionType": "maven",
              "lessThanOrEqual": "24.6.13"
            },
            {
              "status": "affected",
              "version": "24.7.0",
              "lessThan": "24.7.17",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "24.8.0",
              "versionType": "maven",
              "lessThanOrEqual": "24.8.17"
            },
            {
              "status": "affected",
              "version": "24.9.0",
              "lessThan": "24.9.24",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "24.10.0",
              "lessThan": "24.10.12",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "25.0.0",
              "versionType": "maven",
              "lessThanOrEqual": "25.0.13"
            },
            {
              "status": "affected",
              "version": "25.1.0",
              "versionType": "maven",
              "lessThanOrEqual": "25.1.13"
            },
            {
              "status": "affected",
              "version": "25.2.0",
              "lessThan": "25.2.11",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "25.3.0",
              "lessThan": "25.3.3",
              "versionType": "maven"
            }
          ],
          "packageName": "com.vaadin:vaadin",
          "collectionURL": "https://repo.maven.apache.org/maven2",
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://github.com/vaadin/platform",
          "vendor": "vaadin",
          "product": "vaadin",
          "versions": [
            {
              "status": "affected",
              "version": "14.14.0",
              "lessThan": "14.14.8",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "23.6.0",
              "lessThan": "23.6.17",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "24.4.0",
              "lessThan": "24.4.26",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "24.5.0",
              "versionType": "maven",
              "lessThanOrEqual": "24.5.15"
            },
            {
              "status": "affected",
              "version": "24.6.0",
              "versionType": "maven",
              "lessThanOrEqual": "24.6.13"
            },
            {
              "status": "affected",
              "version": "24.7.0",
              "lessThan": "24.7.17",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "24.8.0",
              "versionType": "maven",
              "lessThanOrEqual": "24.8.17"
            },
            {
              "status": "affected",
              "version": "24.9.0",
              "lessThan": "24.9.24",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "24.10.0",
              "lessThan": "24.10.12",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "25.0.0",
              "versionType": "maven",
              "lessThanOrEqual": "25.0.13"
            },
            {
              "status": "affected",
              "version": "25.1.0",
              "versionType": "maven",
              "lessThanOrEqual": "25.1.13"
            },
            {
              "status": "affected",
              "version": "25.2.0",
              "lessThan": "25.2.11",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "25.3.0",
              "lessThan": "25.3.3",
              "versionType": "maven"
            }
          ],
          "packageName": "com.vaadin:vaadin-core",
          "collectionURL": "https://repo.maven.apache.org/maven2",
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://github.com/vaadin/flow",
          "vendor": "vaadin",
          "product": "flow",
          "versions": [
            {
              "status": "affected",
              "version": "2.13.0",
              "lessThan": "2.13.8",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "23.6.0",
              "lessThan": "23.6.16",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "24.4.0",
              "lessThan": "24.4.19",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "24.5.0",
              "versionType": "maven",
              "lessThanOrEqual": "24.5.17"
            },
            {
              "status": "affected",
              "version": "24.6.0",
              "versionType": "maven",
              "lessThanOrEqual": "24.6.14"
            },
            {
              "status": "affected",
              "version": "24.7.0",
              "lessThan": "24.7.16",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "24.8.0",
              "versionType": "maven",
              "lessThanOrEqual": "24.8.16"
            },
            {
              "status": "affected",
              "version": "24.9.0",
              "lessThan": "24.9.29",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "24.10.0",
              "lessThan": "24.10.15",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "25.0.0",
              "versionType": "maven",
              "lessThanOrEqual": "25.0.15"
            },
            {
              "status": "affected",
              "version": "25.1.0",
              "lessThan": "25.1.19",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "25.2.0",
              "lessThan": "25.2.13",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "25.3.0",
              "lessThan": "25.3.4",
              "versionType": "maven"
            }
          ],
          "packageName": "com.vaadin:flow-server",
          "collectionURL": "https://repo.maven.apache.org/maven2",
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://github.com/vaadin/framework",
          "vendor": "vaadin",
          "product": "framework",
          "versions": [
            {
              "status": "affected",
              "version": "7.1.0",
              "lessThan": "7.7.55",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "8.0.0",
              "lessThan": "8.32.2",
              "versionType": "maven"
            }
          ],
          "packageName": "com.vaadin:vaadin-server",
          "collectionURL": "https://repo.maven.apache.org/maven2",
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://github.com/vaadin/framework",
          "vendor": "vaadin",
          "product": "framework",
          "versions": [
            {
              "status": "affected",
              "version": "7.7.36",
              "lessThan": "7.7.55",
              "versionType": "maven"
            },
            {
              "status": "affected",
              "version": "8.18.0",
              "lessThan": "8.32.2",
              "versionType": "maven"
            }
          ],
          "packageName": "com.vaadin:vaadin-server-mpr-jakarta",
          "collectionURL": "https://repo.maven.apache.org/maven2",
          "defaultStatus": "unaffected"
        }
      ],
      "modified": "2026-10-27T13:03:37.752Z",
      "provider": "cve",
      "references": [
        "https://vaadin.com/security/cve-2026-110737",
        "https://github.com/vaadin/flow/issues/26214",
        "https://github.com/vaadin/flow/pull/26215"
      ],
      "provider_metadata": {
        "cna": {
          "orgId": "9e0f3122-90e9-42d5-93de-8c6b98deef7e",
          "shortName": "Vaadin",
          "dateUpdated": "2026-10-27T13:03:37.752Z"
        }
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-110737",
        "evidence": "/cveMetadata/cveId"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/containers/cna/metrics"
  },
  "source_id": "core-cve",
  "document_id": 392042,
  "published_at": "2026-10-27T10:26:37.752+00:00"
}