Description
Symfony UX is a JavaScript ecosystem for Symfony. From 2.8.0 until 2.36.0 and 3.1.0, the HMAC computed by Symfony\UX\LiveComponent\LiveComponentHydrator covered only sorted prop key/value pairs and did not include the component name, the slot identifier (props vs propsFromParent), or request context, allowing a signed blob minted for one component or slot to be replayed in another and set a read-only prop on a target component. This issue is fixed in versions 2.36.0 and 3.1.0.
Published: 2026-07-17
Score: 6.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Symfony UX is a JavaScript ecosystem for Symfony that includes the LiveComponent module. In versions 2.8.0 through 2.36.0 and 3.1.0, the HMAC generated by Symfony\\UX\\LiveComponent\\LiveComponentHydrator incorporated only the sorted prop key/value pairs and omitted the component name, the slot identifier (props vs propsFromParent), and the request context. This omission allows an attacker to reuse a signed blob created for one component or slot in another component or slot, thereby altering a read‑only prop on the target component. The flaw is classified as CWE‑345: Broken Authentication.

Affected Systems

The vulnerability affects Symfony UX LiveComponent versions ranging from 2.8.0 through 2.36.0 and 3.1.0. Users employing these releases in any environment where LiveComponentHydrator is used are potentially impacted until a version that includes the fix is deployed. The affected product is the symfony:ux package in Symfony projects.

Risk and Exploitability

The CVSS score of 6.9 indicates a medium severity condition. The EPSS score of <1% suggests that exploitation is currently unlikely. The issue is not listed in the CISA KEV catalog, so there is no evidence of widespread, active exploitation. However, the vulnerability is a replay attack that could be leveraged by an attacker with knowledge of a signed blob to set read‑only props, potentially altering component state or enabling further privilege escalation if the component performs actions based on those props. The attack requires the attacker to possess a valid signed blob for one component and to find a target component that shares compatible props, which may limit its applicability but does not negate the risk entirely. Managers should monitor for any signs of custom exploit development, but immediate patching will remove the vector before such activity occurs.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade symfony/ux to at least version 2.36.0 or 3.1.0, which incorporate the HMAC change that includes component and slot binding.
  • Review project code for any custom LiveComponentHydrator usage and refactor to rely on the updated implementation that binds component and slot context.
  • Validate that your LiveComponents do not expose read‑only props that may be altered through signed blobs; consider making such props immutable on the client side or adding server‑side checks to confirm their integrity before processing.

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

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-34w5-c283-j9fg symfony/ux-live-component: LiveComponentHydrator HMAC checksum lacks component and slot binding
History

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

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', '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.8.0 until 2.36.0 and 3.1.0, the HMAC computed by Symfony\UX\LiveComponent\LiveComponentHydrator covered only sorted prop key/value pairs and did not include the component name, the slot identifier (props vs propsFromParent), or request context, allowing a signed blob minted for one component or slot to be replayed in another and set a read-only prop on a target component. This issue is fixed in versions 2.36.0 and 3.1.0.
Title Symfony UX: LiveComponentHydrator HMAC checksum lacks component and slot binding
Weaknesses CWE-345
References
Metrics cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-17T17:48:49.503Z

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

Link: CVE-2026-49212

cve-icon Vulnrichment

Updated: 2026-07-17T17:48:43.505Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-345

    Insufficient Verification of Data Authenticity