GHSA-wxxw-5gq6-j2g5 is a critical-severity (CVSS 9) remote code execution vulnerability in contao/core. A fix is available for contao/core — see the affected versions and patch details below.
contao/core Insufficient input validation allows for code injection and remote execution
Real-World Exposure
contao/core🐘contao/coreReal-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
contao/core versions 2.x prior to 2.11.17 and 3.x prior to 3.2.9 are vulnerable to arbitrary code execution on the server due to insufficient input validation. In fact, attackers can remove or change pathconfig.php by entering a URL, meaning that the entire Contao installation will no longer be accessible or malicious code can be executed.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐘Packagist | contao/core | ≥ 2.0.0&&< 2.11.17 | 2.11.17composer require contao/core:^2.11.17 |
| 🐘Packagist | contao/core | ≥ 3.0.0&&< 3.2.9 | 3.2.9composer require contao/core:^3.2.9 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for contao/core, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update contao/core to 2.11.17 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-wxxw-5gq6-j2g5 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
How O3 protects you
O3 Security's impact-aware SCA analyses which vulnerable code paths your application actually calls, so a match like GHSA-wxxw-5gq6-j2g5 can be triaged on real exposure rather than presence alone.
Tailored to GHSA-wxxw-5gq6-j2g5. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.
Frequently Asked Questions
Is GHSA-wxxw-5gq6-j2g5 in your dependencies?
O3 Security finds GHSA-wxxw-5gq6-j2g5 across Packagist dependencies, including transitive ones, and its impact-aware SCA ranks findings by whether your code actually calls the vulnerable path.