ETK-2026-3495Zero's internal tracking ID, independent of the CVE number.
waiting for further signalsZero needs more public information before it can validate it.description
Symfony Filesystem Path helpers can mis-handle path normalization and allow a path to pass an intended base-directory check while resolving outside that directory. This affects applications that validate attacker-controlled paths before reading or writing them, and can also affect AssetMapper installations using a malicious or compromised remote package.
mitigation
Upgrade symfony/filesystem or symfony/symfony to 5.4.56, 6.4.50, 7.4.23, or 8.1.11, as applicable. Until upgraded, do not use these Path helpers as the sole containment check for untrusted paths, and avoid installing untrusted remote AssetMapper packages.
fixed in 5.4.56, 6.4.50, 7.4.23, 8.1.11
outcome
Contextual, not validated: no deterministic check could cover this one, and no technique passed our review.
source signals
Public signals that triggered or updated the pipeline. These are inputs for the deltas above.
- 2026-11-04 11:43Zghsa: trigger signal, started the run
this entry in the feed
GET /api/v1/feed/ETK-2026-3495
{ "etk_id": "ETK-2026-3495", "cve_id": null, "display_id": "ETK-2026-3495", "ghsa_id": "GHSA-6prc-h956-hxjq", "euvd_id": null, "status": "published", "anchor_state": "awaiting_cve", "title": "Path containment bypass in Symfony Filesystem", "summary": "Symfony Filesystem Path helpers can mis-handle path normalization and allow a path to pass an intended base-directory check while resolving outside that directory. This affects applications that validate attacker-controlled paths before reading or writing them, and can also affect AssetMapper installations using a malicious or compromised remote package.", "mitigation": "Upgrade symfony/filesystem or symfony/symfony to 5.4.56, 6.4.50, 7.4.23, or 8.1.11, as applicable. Until upgraded, do not use these Path helpers as the sole containment check for untrusted paths, and avoid installing untrusted remote AssetMapper packages.", "vendor": "composer", "product": "composer:symfony/filesystem", "affected": [ { "affected_notes": [], "affected_ranges": [ ">=5.4.0", "<5.4.56" ], "ecosystem": "composer", "fixed_versions": [ "5.4.56" ], "package_name": "symfony/filesystem", "purl": "pkg:composer/symfony/filesystem" }, { "affected_notes": [], "affected_ranges": [ ">=6", "<6.4.50" ], "ecosystem": "composer", "fixed_versions": [ "6.4.50" ], "package_name": "symfony/filesystem", "purl": "pkg:composer/symfony/filesystem" }, { "affected_notes": [], "affected_ranges": [ ">=7", "<7.4.23" ], "ecosystem": "composer", "fixed_versions": [ "7.4.23" ], "package_name": "symfony/filesystem", "purl": "pkg:composer/symfony/filesystem" }, { "affected_notes": [], "affected_ranges": [ ">=8", "<8.1.11" ], "ecosystem": "composer", "fixed_versions": [ "8.1.11" ], "package_name": "symfony/filesystem", "purl": "pkg:composer/symfony/filesystem" }, { "affected_notes": [], "affected_ranges": [ ">=5.4.0", "<5.4.56" ], "ecosystem": "composer", "fixed_versions": [ "5.4.56" ], "package_name": "symfony/symfony", "purl": "pkg:composer/symfony/symfony" }, { "affected_notes": [], "affected_ranges": [ ">=6", "<6.4.50" ], "ecosystem": "composer", "fixed_versions": [ "6.4.50" ], "package_name": "symfony/symfony", "purl": "pkg:composer/symfony/symfony" }, { "affected_notes": [], "affected_ranges": [ ">=7", "<7.4.23" ], "ecosystem": "composer", "fixed_versions": [ "7.4.23" ], "package_name": "symfony/symfony", "purl": "pkg:composer/symfony/symfony" }, { "affected_notes": [], "affected_ranges": [ ">=8", "<8.1.11" ], "ecosystem": "composer", "fixed_versions": [ "8.1.11" ], "package_name": "symfony/symfony", "purl": "pkg:composer/symfony/symfony" } ], "cwes": [ 22 ], "cvss_score": 7, "cvss_src": "ethiack_provisional", "cvss_vector": null, "epss_score": null, "epss_percentile": null, "epss_asof": null, "automation": "contextual", "check": false, "check_confidence_basis": null, "exploit": false, "pipeline_minutes": 9.900323283333334, "t0_at": null, "signals": { "trigger_signal": { "at": "2026-11-04T11:43:35+00:00", "days": -0.13682442787037036, "is_lower_bound": true, "measured_at": "2026-11-04T15:00:36.665457+00:00", "url": "https://github.com/symfony/symfony/security/advisories/GHSA-6prc-h956-hxjq" } } }
published 2026-11-04 12:25Z
last change 2026-11-04 14:42Z
Need the technical details behind an entry?
Every entry here shows what we attempted and when. The technical details, the generated exploit that fired it and the evidence behind the verdict are not public. Tell us about your use case and we’ll get back to you about extended API access.