Description
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python module unsafely, which allows remote attackers to execute arbitrary code via a crafted serialized object.
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | graphite-web | 0.9.12+debian-1 | — |
| Debian 13 | graphite-web | 0.9.12+debian-1 | — |
| Debian 12 | graphite-web | 0.9.12+debian-1 | — |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
Metasploit 1 module
-
Graphite Web Unsafe Pickle Handling
exploit/unix/webapp/graphite_pickle_exec
Exploit-DB 1
- Graphite Web - Unsafe Pickle Handling (Metasploit) EDB-27752 · remote · Aug 21, 2013 · verified
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | graphite-web | >= 0.9.5, < 0.9.11 | 0.9.11 | GHSA-m923-w2gj-v43g |
References
- http://ceriksen.com/2013/08/20/graphite-remote-code-execution-vulnerability-advisory/
- 27752 exploit
- https://github.com/graphite-project/graphite-web/blob/master/docs/releases/0_9_11.rst
- 96436 vdb-entry
- 61894 vdb-entry
- 54556 third-party-advisory
- https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/unix/webapp/graphite_pickle_exec.rb