CVE-2026-49208: Symfony UX: Format-less date LiveProps parsed with the permissive DateTime constructor

Published Jun 19, 2026
·
Updated

Description

When a #[LiveProp] is typed as a DateTimeInterface and no explicit format is configured, Symfony\UX\LiveComponent\LiveComponentHydrator::hydrateObjectValue() falls back to new $className($value). The DateTime / DateTimeImmutable constructors accept relative strings such as "now", "tomorrow", or "+10 years", so a writable, format-less date prop can be pushed to an arbitrary point in time by the client. Components that rely on a date prop to gate time-based business logic can be moved past those checks by a frontend payload that no maintainer would consider a valid date.

Resolution

hydrateObjectValue() now parses format-less date props strictly with createFromFormat(DateTimeInterface::RFC3339, ...), matching the format already emitted by dehydrateObjectValue(). Normal round-trips are unaffected; only inputs that aren't valid RFC 3339 are now rejected, which is consistent with how a format-configured prop already behaved.

The patch for this issue is available here for branch 2.x (and forward-ported to 3.x).

Credits

Symfony would like to thank Pascal Cescon for reporting the issue and Hugo Alliaume for providing the fix.

Other sources

Symfony UX is a JavaScript ecosystem for Symfony. From 2.8.0 until 2.36.0 and 3.1.0, when a #[LiveProp] is typed as DateTimeInterface and no explicit format is configured, Symfony\UX\LiveComponent\LiveComponentHydrator::hydrateObjectValue() falls back to new $className($value), allowing client-supplied relative strings such as now, tomorrow, or +10 years to move a writable, format-less date prop past time-based business logic checks. This issue is fixed in versions 2.36.0 and 3.1.0.

MITRE

Affected Software

4 affected componentsFixes available
composer/symfony/ux-live-component>=3.0.0<3.1.0
3.1.0
composer/symfony/ux-live-component>=2.8.0<2.36.0
2.36.0
Symfony UX>=2.8.0<2.36.0
Symfony UX=3.0.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade composer/symfony/ux-live-component to a version that resolves this vulnerability.

    Fixed in 3.1.0
  2. Upgrade

    Upgrade composer/symfony/ux-live-component to a version that resolves this vulnerability.

    Fixed in 2.36.0
  3. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 2.36.0
  4. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 3.1.0
  5. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Patch d24d78fda6df2d5964312255943ebf3a217b79a2

Event History

Jun 19, 2026
Advisory Published
via GitHub·07:23 PM
Data Sourced
via GitHub·07:23 PM
DescriptionWeaknessAffected Software
Jul 17, 2026
CVE Published
via MITRE·04:10 PM
Data Sourced
via MITRE·04:10 PM
DescriptionWeakness
Data Sourced
via NVD·05:17 PM
RemedyDescriptionSeverityWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-49208?

The severity of CVE-2026-49208 is medium with a score of 6.9.

2

How do I fix CVE-2026-49208?

To resolve CVE-2026-49208, ensure that explicit formats are configured for LiveProps typed as DateTimeInterface.

3

What are the potential impacts of CVE-2026-49208?

CVE-2026-49208 may lead to unexpected behaviors or vulnerabilities due to the permissive parsing of date formats.

4

Which software is affected by CVE-2026-49208?

CVE-2026-49208 affects the Symfony UX LiveComponent package.

5

What is the main cause of CVE-2026-49208?

The main cause of CVE-2026-49208 is the fallback to the permissive DateTime constructor when no explicit format is configured.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203