CVE-2009-4137 in the critical feed json
The loadContentFromCookie function in core/Cookie.php in Piwik before 0.5 does not validate strings obtained from cookies before calling th…
published 2009-12-24 16 y ago modified 2026-06-16 4 mo ago also EUVD-2009-4107
- cvss
- 7.5
- version 2.0, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 16.9%
- EPSS 16.9% chance of exploitation in 30 days, percentile 97%
- public exploits
- 0
- none known
Summary
The loadContentFromCookie function in core/Cookie.php in Piwik before 0.5 does not validate strings obtained from cookies before calling the unserialize function, which allows remote attackers to execute arbitrary code or upload arbitrary files via vectors related to the __destruct function in the Piwik_Config class; php://filter URIs; the __destruct functions in Zend Framework, as demonstrated by the Zend_Log destructor; the shutdown functions in Zend Framework, as demonstrated by the Zend_Log_Writer_Mail class; the render function in the Piwik_View class; Smarty templates; and the _eval function in Smarty.
Exploit prediction
16.95% chance of exploitation in the next 30 days, higher than 97% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 2.0 | 7.5 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
Classification
- Weakness
-
- CWE-20 Improper Input Validation
References
-
piwik.org
/blog/2009/12/piwik-response-to-shocking-news-in-php-exploitation/
vendor-advisory
-
dev.piwik.org
/trac/changeset/1637
vendor-advisory
-
openwall.com
/lists/oss-security/2009/12/14/2
mailing-list
- suspekt.org /downloads/POC2009-ShockingNewsInPHPExploitation.pdf
-
openwall.com
/lists/oss-security/2009/12/10/1
mailing-list
-
openwall.com
/lists/oss-security/2009/12/09/2
mailing-list
- suspekt.org /2009/12/09/advisory-032009-piwik-cookie-unserialize-vulnerability/
- sektioneins.de /en/advisories/advisory-032009-piwik-cookie-unserialize-vulnerability/
Sources
- CVE List CVE-2009-4137
- NVD CVE-2009-4137
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.