Arbitrary expression injection in Pillow
`PIL.ImageMath.eval` in Pillow before 9.0.0 allows evaluation of arbitrary expressions, such as ones that use the Python exec method `ImageMath.eval("exec(exit())")`. While Pillow 9.0.0 restricted top-level builtins available to PIL.ImageMath.eval(), it did not prevent builtins available to lambda expressions. These are now also restricted in 9.0.1.
01
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2022-22817US | critical9.8 | — | ||
PIL.ImageMath.eval in Pillow before 9.0.0 allows evaluation of arbitrary expressions, such as ones that use the Python exec method. A lambda expression could also be used. | ||||
02
references
External citations — patches, advisories, analysis.
- https://github.com/advisories/GHSA-8vj2-vxx3-667wADVISORY
- https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2022-10.yamlWEB
- https://github.com/python-pillow/PillowPACKAGE
- https://github.com/python-pillow/Pillow/commit/8531b01d6cdf0b70f256f93092caa2a5d91afc11WEB
- https://lists.debian.org/debian-lts-announce/2022/01/msg00018.htmlWEB
- https://lists.debian.org/debian-lts-announce/2024/03/msg00021.htmlWEB
- https://nvd.nist.gov/vuln/detail/CVE-2022-22817ADVISORY
- https://pillow.readthedocs.io/en/stable/releasenotes/9.0.0.html#restrict-builtins-available-to-imagemath-evalWEB
scry
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan