CVE-2021-43836 is a high-severity (CVSS 8.8) Path Traversal vulnerability in sulu/sulu. A fix is available for sulu/sulu — see the affected versions and patch details below.
PHP file inclusion in the Sulu admin panel
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
CVE-2021-43836 by exploitation likelihood (EPSS) against impact (CVSS). Outside the shaded patch-first corner.
Where this sits among everything scored
Of 385,987 CVEs with a current EPSS score, this one falls in the < 10% band (highlighted). Counts from FIRST.org, log-scaled.
Real-World Exposure
sulu/sulu🐘sulu/sulu🐘sulu/sulu🐘sulu/suluReal-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
Impact
What kind of vulnerability is it? Who is impacted?
An attacker can read arbitrary local files via a PHP file include. In a default configuration this also leads to remote code execution.
- Compromised components: Arbitrary file read on the server, (Potential) Remote code execution
- Exploitation pre-requisite: User account on the backend
Patches
Has the problem been patched? What versions should users upgrade to?
The problem is patched with the Versions 1.6.44, 2.2.18, 2.3.8, 2.4.0
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
Overwrite the service sulu_route.generator.expression_token_provider and wrap the translator before passing it to the expression language.
References
Are there any links users can visit to find out more?
Currently not.
For more information
If you have any questions or comments about this advisory:
- Open an issue in example link to repo
- Email us at example email address
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐘Packagist | sulu/sulu | all versions | 1.6.44composer require sulu/sulu:^1.6.44 |
| 🐘Packagist | sulu/sulu | ≥ 2.0.0&&< 2.2.18 | 2.2.18composer require sulu/sulu:^2.2.18 |
| 🐘Packagist | sulu/sulu | ≥ 2.3.0&&< 2.3.8 | 2.3.8composer require sulu/sulu:^2.3.8 |
| 🐘Packagist | sulu/sulu | ≥ 2.4.0-RC1&&< 2.4.0 | 2.4.0composer require sulu/sulu:^2.4.0 |
Affected Products
sulusuluDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for sulu/sulu, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update sulu/sulu to 1.6.44 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2021-43836 is resolved across your whole dependency graph.
Workarounds
Resolve every user-supplied path to its canonical form and reject anything that escapes the intended directory, and run the component under an account that has no read or write access outside the directory it legitimately serves.
Frequently Asked Questions
Is CVE-2021-43836 in your dependencies?
Find it across Packagist, including transitive dependencies.