eZ Publish Legacy Cross-site Scripting (XSS) in 'disabled module' error templateGHSA-2vh3-cj9j-mcj5
Fix: ezsystems/ezpublish-legacy@4697bffGHSA-2vh3-cj9j-mcj5 is a security vulnerability in ezsystems/ezpublish-legacy. A fix is available for ezsystems/ezpublish-legacy — see the affected versions and patch details below.
Real-World Exposure
ezsystems/ezpublish-legacy🐘ezsystems/ezpublish-legacy🐘ezsystems/ezpublish-legacy🐘ezsystems/ezpublish-legacy🐘ezsystems/ezpublish-legacyReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Packagist packages — download data is not available via public APIs for these ecosystems.
Description
This security advisory fixes a vulnerability in eZ Publish Legacy, and we recommend that you install it as soon as possible if you are using Legacy via the LegacyBridge.
Installations where all modules are disabled may be vulnerable to XSS injection in the module name. This is a rare configuration, but we still recommend installing the update, which adds the necessary input washing.
To install, use Composer to update to one of the "Resolving versions" mentioned above, or apply this patch manually: https://github.com/ezsystems/ezpublish-legacy/commit/4697bff700e8cf95d5847ea19dad3479a77b02d9
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐘Packagist | ezsystems/ezpublish-legacy | ≥ 2018.9.0&&< 2018.9.1.2 | 2018.9.1.2composer require ezsystems/ezpublish-legacy:^2018.9.1.2 |
| 🐘Packagist | ezsystems/ezpublish-legacy | ≥ 2018.6.0&&< 2018.6.1.3 | 2018.6.1.3composer require ezsystems/ezpublish-legacy:^2018.6.1.3 |
| 🐘Packagist | ezsystems/ezpublish-legacy | ≥ 2011.0.0&&< 2017.12.4.2 | 2017.12.4.2composer require ezsystems/ezpublish-legacy:^2017.12.4.2 |
| 🐘Packagist | ezsystems/ezpublish-legacy | ≥ 5.4.0&&< 5.4.12.2 | 5.4.12.2composer require ezsystems/ezpublish-legacy:^5.4.12.2 |
| 🐘Packagist | ezsystems/ezpublish-legacy | ≥ 5.3.0&&< 5.3.12.5 | 5.3.12.5composer require ezsystems/ezpublish-legacy:^5.3.12.5 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for ezsystems/ezpublish-legacy, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update ezsystems/ezpublish-legacy to 2018.9.1.2 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-2vh3-cj9j-mcj5 is resolved across your whole dependency graph.
Workarounds
Escape or sanitise the affected output on the server side rather than relying on client-side filtering, and add a Content-Security-Policy that blocks inline script execution so injected markup cannot run even if it reaches the page.
Frequently Asked Questions
Is GHSA-2vh3-cj9j-mcj5 in your dependencies?
Find it across Packagist, including transitive dependencies.