CVE-2019-11831 — phar-stream-wrapper
CRITICALCVE-2019-11831 is a critical-severity (CVSS 9.8) Path Traversal vulnerability in typo3/phar-stream-wrapper. A fix is available for typo3/phar-stream-wrapper — see the affected versions and patch details below.
Directory Traversal in typo3/phar-stream-wrapper
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
typo3/phar-stream-wrapper🐘typo3/phar-stream-wrapper🐘drupal/core🐘drupal/core🐘drupal/core🐘drupal/drupal🐘drupal/drupal🐘drupal/drupalReal-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
The PharStreamWrapper (aka phar-stream-wrapper) package 2.x before 2.1.1 and 3.x before 3.1.1 for TYPO3 does not prevent directory traversal, which allows attackers to bypass a deserialization protection mechanism, as demonstrated by a phar:///path/bad.phar/../good.phar URL.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐘Packagist | typo3/phar-stream-wrapper | ≥ 2.0.0&&< 2.1.1 | 2.1.1composer require typo3/phar-stream-wrapper:^2.1.1 |
| 🐘Packagist | typo3/phar-stream-wrapper | ≥ 3.0.0&&< 3.1.1 | 3.1.1composer require typo3/phar-stream-wrapper:^3.1.1 |
| 🐘Packagist | drupal/core | ≥ 7.0.0&&< 7.67.0 | 7.67.0composer require drupal/core:^7.67.0 |
| 🐘Packagist | drupal/core | ≥ 8.0.0&&< 8.6.16 | 8.6.16composer require drupal/core:^8.6.16 |
| 🐘Packagist | drupal/core | ≥ 8.7.0&&< 8.7.1 | 8.7.1composer require drupal/core:^8.7.1 |
| 🐘Packagist | drupal/drupal | ≥ 7.0.0&&< 7.67.0 | 7.67.0composer require drupal/drupal:^7.67.0 |
Affected Products
debian linuxdebiandrupaldrupalfedorafedoraprojectjoomla\!joomlapharstreamwrappertypo3Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for typo3/phar-stream-wrapper, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update typo3/phar-stream-wrapper to 2.1.1 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2019-11831 is resolved across your whole dependency graph.
Workarounds
Do not deserialise data from untrusted sources: where the format allows it, restrict deserialisation to an explicit allowlist of expected types, and prefer a data-only format (JSON, Protobuf) over one that can reconstruct arbitrary objects until you can upgrade.
Frequently Asked Questions
Is CVE-2019-11831 in your dependencies?
Find it across Packagist, including transitive dependencies.