CVE-2019-12760 json
Deserialization vulnerability exists in parso
published 7y ago modified 4mo ago also GHSA-22mf-97vh-x8rw , PYSEC-2019-109 , EUVD-2019-0101
- cvss
- 3.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.5%
- EPSS 1.5% chance of exploitation in 30 days, percentile 75%
- public exploits
- 0
- none known
Summary
A deserialization vulnerability exists in the way parso through 0.4.0 handles grammar parsing from the cache. Cache loading relies on pickle and, provided that an evil pickle can be written to a cache grammar file and that its parsing can be triggered, this flaw leads to Arbitrary Code Execution. NOTE: This is disputed because "the cache directory is not under control of the attacker in any common configuration.
Patch / fix
- pypi parso 0.5.0
- parso Debian 14, Debian 13, Debian 12 0.5.1-0.1
debian advisories DEBIAN-CVE-2019-12760
Is CVE-2019-12760 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2019-12760 updated cvss 5.3
parso: parsing leads to arbitrary code execution
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 2y ago
Exploit prediction
1.53% chance of exploitation in the next 30 days, higher than 75% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- gist.github.com https://gist.github.com/dhondta/f71ae7e5c4234f8edfd2f12503a5dcc7 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 3.3 | CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:N |
| CNA | 3.1 | 3.3 | CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:L/I:L/A:N |
| NVD | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 6.0 | AV:N/AC:M/Au:S/C:P/I:P/A:P |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | parso | <0.5.0 |
0.5.0 |
Classification
- Weakness
-
- CWE-502 Deserialization of Untrusted Data
References
-
gist.github.com
/dhondta/f71ae7e5c4234f8edfd2f12503a5dcc7
web, exploit, third-party-advisory
-
github.com
/davidhalter/parso/issues/75
web, report
-
nvd.nist.gov
/vuln/detail/CVE-2019-12760
advisory
-
github.com
/advisories/GHSA-22mf-97vh-x8rw
advisory
-
github.com
/davidhalter/parso
package
-
github.com
/pypa/advisory-database/tree/main/vulns/parso/PYSEC-2019-109.yaml
web
Sources
- CVE List CVE-2019-12760
- GitHub Advisory GHSA-22mf-97vh-x8rw
- NVD CVE-2019-12760
- OSV PYSEC-2019-109
Fencer Intel 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.