Every CVE Search/ Get API key

CVE-2025-47946

symfony/ux-live-component and symfony/ux-twig-component vulnerable to unsanitized HTML attribute injection via ComponentAttributes

6.1 MediumFix available

Symfony UX is an initiative and set of libraries to integrate JavaScript tools into applications. Prior to version 2.25.1, rendering {{ attributes }} or using any method that returns a ComponentAttributes instance (e.g. only(), defaults(), without()) ouputs attribute values directly without escaping. If these values are unsafe (e.g. contain user input), this can lead to HTML attribute injection and XSS vulnerabilities. The issue is fixed in version 2.25.1 of symfony/ux-twig-component Those who use symfony/ux-live-component must also update it to 2.25.1 to benefit from the fix, as it reuses the ComponentAttributes class internally. As a workaround, avoid rendering {{ attributes }} or derived objects directly if it may contain untrusted values. Instead, use {{ attributes.render('name') }} for safe output of individual attributes.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
Low
Integrity
Low
Availability
None

Exploit likelihood

0.25%Up 0.2 points since May 20, 2025
90%50%10%1%

What each source reports

CVE List Score used 6.1

symfony/ux-live-component and symfony/ux-twig-component vulnerable to unsanitized HTML attribute injection via ComponentAttributes

Symfony UX is an initiative and set of libraries to integrate JavaScript tools into applications. Prior to version 2.25.1, rendering {{ attributes }} or using any method that returns a ComponentAttributes instance (e.g. only(), defaults(), without()) ouputs attribute values directly without escaping. If these values are unsafe (e.g. contain user input), this can lead to HTML attribute injection and XSS vulnerabilities. The issue is fixed in version 2.25.1 of symfony/ux-twig-component Those who use symfony/ux-live-component must also update it to 2.25.1 to benefit from the fix, as it reuses the ComponentAttributes class internally. As a workaround, avoid rendering {{ attributes }} or derived objects directly if it may contain untrusted values. Instead, use {{ attributes.render('name') }} for safe output of individual attributes.

Record
CVE-2025-47946
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2025-15795 6.1

Symfony UX is an initiative and set of libraries to integrate JavaScript tools into applications. Prior to version 2.25.1, rendering {{ attributes }} or using any method that returns a ComponentAttributes instance (e.g. only(), defaults(), without()) ouputs attribute values directly without escaping. If these values are unsafe (e.g. contain user input), this can lead to HTML attribute injection and XSS vulnerabilities. The issue is fixed in version 2.25.1 of symfony/ux-twig-component Those who use symfony/ux-live-component must also update it to 2.25.1 to benefit from the fix, as it reuses the ComponentAttributes class internally. As a workaround, avoid rendering {{ attributes }} or derived objects directly if it may contain untrusted values. Instead, use {{ attributes.render('name') }} for safe output of individual attributes.

Record
EUVD-2025-15795
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-5j3w-5pcr-f8hg 6.1

Symfony UX allows unsanitized HTML attribute injection via ComponentAttributes

Impact

Rendering {{ attributes }} or using any method that returns a ComponentAttributes instance (e.g. only(), defaults(), without()) ouputs attribute values directly without escaping. If these values are unsafe (e.g. contain user input), this can lead to HTML attribute injection and XSS vulnerabilities.

Patches

The issue is fixed in version 2.25.1 of symfony/ux-twig-component by using Twig's EscaperRuntime to properly escape HTML attributes in ComponentAttributes. If you use symfony/ux-live-component, you must also update it to 2.25.1 to benefit from the fix, as it reuses the ComponentAttributes class internally.

Workarounds

Until you can upgrade, avoid rendering {{ attributes }} or derived objects directly if it may contain untrusted values. Instead, use {{ attributes.render('name') }} for safe output of individual attributes.

References

GitHub repository: symfony/ux

Record
GHSA-5j3w-5pcr-f8hg
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
NVD 6.1

Symfony UX is an initiative and set of libraries to integrate JavaScript tools into applications. Prior to version 2.25.1, rendering {{ attributes }} or using any method that returns a ComponentAttributes instance (e.g. only(), defaults(), without()) ouputs attribute values directly without escaping. If these values are unsafe (e.g. contain user input), this can lead to HTML attribute injection and XSS vulnerabilities. The issue is fixed in version 2.25.1 of symfony/ux-twig-component Those who use symfony/ux-live-component must also update it to 2.25.1 to benefit from the fix, as it reuses the ComponentAttributes class internally. As a workaround, avoid rendering {{ attributes }} or derived objects directly if it may contain untrusted values. Instead, use {{ attributes.render('name') }} for safe output of individual attributes.

Record
CVE-2025-47946
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSV 6.1

symfony/ux-live-component and symfony/ux-twig-component vulnerable to unsanitized HTML attribute injection via ComponentAttributes

Symfony UX is an initiative and set of libraries to integrate JavaScript tools into applications. Prior to version 2.25.1, rendering {{ attributes }} or using any method that returns a ComponentAttributes instance (e.g. only(), defaults(), without()) ouputs attribute values directly without escaping. If these values are unsafe (e.g. contain user input), this can lead to HTML attribute injection and XSS vulnerabilities. The issue is fixed in version 2.25.1 of symfony/ux-twig-component Those who use symfony/ux-live-component must also update it to 2.25.1 to benefit from the fix, as it reuses the ComponentAttributes class internally. As a workaround, avoid rendering {{ attributes }} or derived objects directly if it may contain untrusted values. Instead, use {{ attributes.render('name') }} for safe output of individual attributes.

Record
CVE-2025-47946
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSVGHSA-5j3w-5pcr-f8hg 6.1

Symfony UX allows unsanitized HTML attribute injection via ComponentAttributes

Impact

Rendering {{ attributes }} or using any method that returns a ComponentAttributes instance (e.g. only(), defaults(), without()) ouputs attribute values directly without escaping. If these values are unsafe (e.g. contain user input), this can lead to HTML attribute injection and XSS vulnerabilities.

Patches

The issue is fixed in version 2.25.1 of symfony/ux-twig-component by using Twig's EscaperRuntime to properly escape HTML attributes in ComponentAttributes. If you use symfony/ux-live-component, you must also update it to 2.25.1 to benefit from the fix, as it reuses the ComponentAttributes class internally.

Workarounds

Until you can upgrade, avoid rendering {{ attributes }} or derived objects directly if it may contain untrusted values. Instead, use {{ attributes.render('name') }} for safe output of individual attributes.

References

GitHub repository: symfony/ux

Record
GHSA-5j3w-5pcr-f8hg
CVSS 3.1
6.1 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
symfony/ux-twig-component
Packagist
before 2.25.1
2.25.1
symfony/ux-live-component
Packagist
before 2.25.1
2.25.1
symfony/ux-twig-component
Packagist
before 2.25.1, plus listed versions
v2.0.0v2.0.1v2.1.0v2.1.1v2.10.0
Show 36 moreShow less
v2.11.0v2.11.1v2.11.2v2.12.0v2.13.0v2.13.1v2.13.3v2.14.0v2.14.2v2.15.0v2.16.0v2.17.0v2.18.0v2.18.1v2.19.0v2.19.2v2.2.0v2.20.0v2.21.0v2.22.0v2.22.1v2.23.0v2.24.0v2.25.0v2.3.0v2.4.0v2.5.0v2.6.0v2.6.1v2.7.0v2.7.1v2.8.0v2.8.1v2.9.0v2.9.1v2.9.2
2.25.1
symfony/ux-live-component
Packagist
before 2.25.1, plus listed versions
v2.0.0v2.0.1v2.1.0v2.1.1v2.10.0
Show 37 moreShow less
v2.11.0v2.11.1v2.11.2v2.12.0v2.13.0v2.13.1v2.13.2v2.13.3v2.14.0v2.14.1v2.14.2v2.15.0v2.16.0v2.17.0v2.18.0v2.18.1v2.19.0v2.19.2v2.2.0v2.20.0v2.21.0v2.22.0v2.22.1v2.23.0v2.24.0v2.25.0v2.3.0v2.4.0v2.5.0v2.6.0v2.6.1v2.7.0v2.7.1v2.8.0v2.8.1v2.9.0v2.9.1
2.25.1

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2025-47946 is a medium vulnerability (CVSS 6.1) in Symfony Ux, published May 19, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.25%, the 16th percentile. Fixed in symfony/ux-twig-component 2.25.1.

References

Show 6 moreShow less
MoveEnter Open