Description
Symfony UX is a JavaScript ecosystem for Symfony. From 2.22.0 until 2.36.0 and 3.1.0, Symfony\UX\LiveComponent\EventListener\LiveComponentSubscriber::isLiveComponentRequest() gates #[LiveAction] invocations on Accept: application/vnd.live-component+html, but the Accept header is CORS-safelisted and cross-origin fetch() can set it without preflight, allowing forged cross-origin #[LiveAction] requests against a victim session when applications use SameSite=None, credentials: 'include', a permissive cookie policy, or a same-origin pivot. This issue is fixed in versions 2.36.0 and 3.1.0.
Published: 2026-07-17
Score: 2.1 Low
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A flaw in Symfony UX LiveComponent event handling permits attackers to forge cross‑origin #[LiveAction] requests by manipulating the Accept header. The listener only accepts the value application/vnd.live-component+html, but that value is CORS‑safelisted, enabling a malicious site to set it through a cross‑origin fetch without a preflight request. When the application is configured to send session cookies with SameSite=None, credentials: 'include', or uses a permissive cookie policy, the forged request can be executed against a victim session. This is a classic CSRF bypass (CWE‑352) that allows an attacker to perform actions on behalf of the victim using their authenticated session.

Affected Systems

The issue affects Symfony applications that include the symfony/ux package in versions from 2.22.0 up to but not including 2.36.0, and also version 3.1.0 before its release. The vendor is Symfony, and the product is Symfony UX LiveComponent. All applications using these versions and relying on SameSite=None or a permissive cookie setting are susceptible; versions 2.36.0, 3.1.0, and later contain the fix.

Risk and Exploitability

The CVSS score is 2.1, indicating low overall severity, and the EPSS score is less than 1%, suggesting that exploitation is currently unlikely. The vulnerability is not listed in CISA KEV, reinforcing its low visibility to public exploitation. However, if an attacker can control the Accept header in a cross‑origin fetch and the application is configured to send credentials to that origin, the bypass can be enacted with minimal setup. The primary attack vector is therefore a same‑origin or cross‑origin web application that relies on the default CSRF protections of Symfony UX LiveComponents.

Generated by OpenCVE AI on July 31, 2026 at 00:04 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade symfony/ux to version 2.36.0 or later, or to 3.1.0 or later, which contain the fix for the CSRF bypass.
  • Configure the application’s CSRF protection and same‑site cookie policy to avoid using SameSite=None with credentials: 'include' unless absolutely required.
  • If upgrading immediately is not possible, restrict the Accept header to "application/vnd.live-component+html" on the server side, or drop cross‑origin requests that attempt to set this header.

Generated by OpenCVE AI on July 31, 2026 at 00:04 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-4m4j-hmqq-3gxm symfony/ux-live-component: CSRF Protection Bypass — Accept Header is CORS-Safelisted
History

Fri, 17 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 17 Jul 2026 18:00:00 +0000

Type Values Removed Values Added
First Time appeared Symfony
Symfony ux
Vendors & Products Symfony
Symfony ux

Fri, 17 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
Description Symfony UX is a JavaScript ecosystem for Symfony. From 2.22.0 until 2.36.0 and 3.1.0, Symfony\UX\LiveComponent\EventListener\LiveComponentSubscriber::isLiveComponentRequest() gates #[LiveAction] invocations on Accept: application/vnd.live-component+html, but the Accept header is CORS-safelisted and cross-origin fetch() can set it without preflight, allowing forged cross-origin #[LiveAction] requests against a victim session when applications use SameSite=None, credentials: 'include', a permissive cookie policy, or a same-origin pivot. This issue is fixed in versions 2.36.0 and 3.1.0.
Title Symfony UX: CSRF Protection Bypass in symfony/ux-live-component — Accept Header is CORS-Safelisted
Weaknesses CWE-352
References
Metrics cvssV4_0

{'score': 2.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-17T18:05:15.930Z

Reserved: 2026-05-28T03:42:34.341Z

Link: CVE-2026-49215

cve-icon Vulnrichment

Updated: 2026-07-17T17:24:12.357Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T00:15:05Z

Weaknesses
  • CWE-352

    Cross-Site Request Forgery (CSRF)