Security Digest · Vulnerability record
CVE-2023-50447: Arbitrary Code Execution in Pillow
Pillow through 10.1.0 allows PIL.ImageMath.eval Arbitrary Code Execution via the environment parameter, a different vulnerability than CVE-2022-22817 (which was about the expression parameter).
CVSS 9.3 Critical EPSS 1.7% · p77
Should you act?
Critical and remotely reachable
No known exploitation yet, but it is network-reachable without credentials. This signal is computed from CISA KEV, EPSS and CVSS data; it is not an editorial verdict.
- No confirmed exploitation. It is not in CISA’s KEV catalog and CISA’s SSVC assessment records no known exploitation. That can change quickly after a public write-up; re-check if you are affected.
- EPSS 1.7%, percentile 77: FIRST’s model estimates a 1.7% chance of exploitation activity in the next 30 days, higher than 77% of all scored CVEs (moderate). EPSS is a probability, not a verdict.
- Remotely reachable with no login and no user interaction. If the vulnerable service is exposed to the internet, prioritize it.
- Only applies if your dependency tree includes
Pillow(PyPI) < 10.2.0, fixed in 10.2.0. Check your lockfile, including transitive dependencies.
What it is
Pillow through 10.1.0 allows PIL.ImageMath.eval Arbitrary Code Execution via the environment parameter, a different vulnerability than CVE-2022-22817 (which was about the expression parameter).
From the GitHub advisory
Pillow through 10.1.0 allows PIL.ImageMath.eval Arbitrary Code Execution via the environment parameter, a different vulnerability than CVE-2022-22817 (which was about the expression parameter).
Weakness type: CWE-95, CWE-94.
Product: Pillow (PyPI) · Assigned by: mitre · Published: 2024-01-19
Affected and fixed versions
| Ecosystem | Package | Vulnerable | First fixed |
|---|---|---|---|
| PyPI | Pillow | < 10.2.0 | 10.2.0 |
| Vendor | Product | Affected versions (per CVE record) |
|---|---|---|
| n/a | n/a | see vendor advisory |
Severity scores
| Scored by | CVSS | Score | Vector |
|---|---|---|---|
| CISA-ADP | 3.1 | 8.1 High | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
| GitHub | 4.0 | 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 |
- Attack vector: network (remotely reachable)
- Attack complexity: low
- Attack requirements: none
- Privileges required: none (no login)
- User interaction: none
CVSS measures how bad a flaw is if exploited, not how likely exploitation is. Read it next to the exploitation data below.
Exploitation and urgency
- CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
- CISA SSVC assessment: exploitation none, automatable no, technical impact total.
- FIRST EPSS (model of 2026-10-21): 1.70% probability of exploitation activity in the next 30 days; percentile 77.
Timeline
- — CVE record published by mitre
- — GitHub-reviewed advisory GHSA-3f63-hfp8-52jq published (critical)
- — CVE record last updated
Sources and references
Original sources first. Version and fix details should always be confirmed against the vendor or project advisory.
Vulnerability records
- GitHub Advisory GHSA-3f63-hfp8-52jq github.com
- CVE.org record CVE-2023-50447 cve.org
- NVD entry CVE-2023-50447 nvd.nist.gov
Other references from the CVE record and advisory
- github.com github.com
- devhub.checkmarx.com devhub.checkmarx.com
- [oss-security] 20240120 Pillow 10.2.0 released, fixes CVE-2023-50447 openwall.com
- [debian-lts-announce] 20240129 [SECURITY] [DLA 3724-1] pillow security update lists.debian.org
- duartecsantos.github.io duartecsantos.github.io
- github.com github.com
- pillow.readthedocs.io pillow.readthedocs.io
- duartecsantos.github.io duartecsantos.github.io