CVE-2026-49210: Symfony UX LiveComponent XSS via unvalidated child component tag

CVE-2026-49210 · Severity: medium · CVSS 4 · Published 2026-07-17

Symfony UX LiveComponent, a tool used to build interactive web interfaces, contains a security flaw that could allow attackers to inject malicious scripts into a website. By sending specially crafted data to a server, an attacker could execute unauthorized code in a user's browser, potentially leading to data theft or unauthorized actions. This risk is highest for applications with specific cross-origin (CORS) configurations or those already compromised by other vulnerabilities.

Technologies: symfony/ux-live-component (Packagist), Symfony UX Live Component. Vendors: Packagist, Symfony.

Quick answers

Is CVE-2026-49210 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-49210 being exploited in the wild.
How severe is CVE-2026-49210?
Medium severity, with a CVSS score of 4, published 17 July 2026.
Which products and versions are affected?
symfony/ux-live-component (Packagist) ECOSYSTEM:introduced=2.8.0,fixed=2.36.0; Symfony UX Live Component >= 2.8.0, < 2.36.0; >= 3.0.0, < 3.1.0.
Is there a fix for CVE-2026-49210?
Yes. symfony/ux-live-component (Packagist): upgrade to 2.36.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-49210 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-49210?
Check whether you run symfony/ux-live-component (Packagist) or Symfony UX Live Component at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • symfony/ux-live-component (Packagist): upgrade to 2.36.0 or later
    composer require symfony/ux-live-component:^2.36.0

Technical details

A Cross-Site Scripting (XSS) vulnerability exists in Symfony UX LiveComponent's ChildComponentPartialRenderer::createHtml() method. The component interpolates the client-provided 'children[id].tag' value directly into the HTML output as a tag name without proper escaping or validation. An attacker can exploit this by sending a malicious JSON payload to the Live Component endpoint, injecting arbitrary HTML or <script> tags. While default configurations require a specific 'Accept' header that mitigates cross-origin attacks, the vulnerability is exploitable if CORS policies are overly permissive or if the attacker has achieved a same-origin pivot. The issue is resolved in versions 2.36.0 and 3.1.0 by implementing a strict regex validation for HTML tag names.

Affected products

  • Symfony ux-live-component >= 2.8.0, < 2.36.0; >= 3.0.0, < 3.1.0

Identifiers

  • CVE-2026-49210
  • GHSA-38x5-rcv4-xf7x

Timeline

  • 2026-05-29: patched: Fixed in versions 2.36.0 and 3.1.0
  • 2026-05-29: advisory: GitHub Security Advisory published
  • 2026-07-17: disclosed: CVE published to NVD

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.