Description
Symfony UX is a JavaScript ecosystem for Symfony. From 2.32.0 before 2.36.1 and from 3.0.0 before 3.2.0, the ux:install console command installs files from a recipe kit by copying paths listed in a copy-files map, and because Path::isRelative() accepts paths like ../../../etc, a crafted or compromised kit can write attacker-controlled content to arbitrary locations or read local files outside the recipe directory. This issue is fixed in versions 2.36.1 and 3.2.0.
Published: 2026-07-08
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is a path traversal flaw in Symfony UX’s ux command where a crafted recipe kit containing file paths such as ../../../etc can cause the command to resolve those paths outside the intended directory, allowing attacker-controlled content to be written or local files to be read that are not meant to be exposed. This issue occurs because Path::isRelative() accepts those paths as relative, enabling the copy‑files map in the recipe manifest to perform operations on unintended targets. The result is a potential compromise of confidentiality, integrity, and availability of the underlying system as a classic CWE-22 weakness.

Affected Systems

Products affected are Symfony UX versions prior to 2.36.1 (starting at 2.32.0) and prior to 3.2.0 (starting at 3.0.0). The vulnerability is fixed in versions 2.36.1 and 3.2.0.

Risk and Exploitability

Based on the description, it is inferred that the likely attack vector is through a malicious or compromised recipe kit supplied to the ux:install command. With a CVSS score of 7.8, the vulnerability is considered high. The EPSS score is <1%, and as the issue is not listed in the CISA KEV catalog the public exploitation likelihood is uncertain. An attacker requires local or privileged access to supply the crafted kit, making the risk notable for environments that automatically install recipe kits.

Generated by OpenCVE AI on July 29, 2026 at 13:11 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Symfony UX to at least version 2.36.1 or 3.2.0
  • Restrict the ux:install command to trusted recipe sources only
  • Ensure file system permissions for the directory used by ux:install prevent unauthorized writes

Generated by OpenCVE AI on July 29, 2026 at 13:11 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-p9xj-fpr2-jf2q symfony/ux-toolkit: Path Traversal Allows Arbitrary File Write and Read via Crafted Recipe Manifest
History

Fri, 10 Jul 2026 10:15:00 +0000

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

Thu, 09 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 08 Jul 2026 21:45:00 +0000

Type Values Removed Values Added
Description Symfony UX is a JavaScript ecosystem for Symfony. From 2.32.0 before 2.36.1 and from 3.0.0 before 3.2.0, the ux:install console command installs files from a recipe kit by copying paths listed in a copy-files map, and because Path::isRelative() accepts paths like ../../../etc, a crafted or compromised kit can write attacker-controlled content to arbitrary locations or read local files outside the recipe directory. This issue is fixed in versions 2.36.1 and 3.2.0.
Title Symfony: Path Traversal in symfony/ux-toolkit Allows Arbitrary File Write and Read via Crafted Recipe Manifest
Weaknesses CWE-22
References
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-09T14:19:07.068Z

Reserved: 2026-06-17T16:59:42.759Z

Link: CVE-2026-55878

cve-icon Vulnrichment

Updated: 2026-07-09T14:19:03.383Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-29T13:15:05Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')