python-pillow/pillow · Security
Arbitrary expression injection in Pillow
- GHSA ID
- GHSA-8vj2-vxx3-667w
- CVE ID
- CVE-2022-22817
- Severity
- critical
- Published
- Updated
- CVSS
- 9.8 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CVSS v3
- 9.8 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CVSS v4
- 9.3 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Description
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.
CWEs
- CWE-74 · Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')
References
- https://nvd.nist.gov/vuln/detail/CVE-2022-22817 ↗
- https://pillow.readthedocs.io/en/stable/releasenotes/9.0.0.html#restrict-builtins-available-to-imagemath-eval ↗
- https://lists.debian.org/debian-lts-announce/2022/01/msg00018.html ↗
- https://www.debian.org/security/2022/dsa-5053 ↗
- https://github.com/python-pillow/Pillow/commit/8531b01d6cdf0b70f256f93092caa2a5d91afc11 ↗
- https://pillow.readthedocs.io/en/stable/releasenotes/9.0.1.html#security ↗
- https://security.gentoo.org/glsa/202211-10 ↗
- https://lists.debian.org/debian-lts-announce/2024/03/msg00021.html ↗
- https://github.com/advisories/GHSA-8vj2-vxx3-667w ↗
- https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2022-10.yaml ↗