CVE-2026-33155
published 2026-03-20CVE-2026-33155: DeepDiff is a project focused on Deep Difference and search of any Python data. From version 5.0.0 to before version 8.6.2, the pickle unpickler…
PriorityP342high7.5CVSS 3.1
AVNACLPRNUINSUCNINAH
EPSS
0.45%
36.0th percentile
DeepDiff is a project focused on Deep Difference and search of any Python data. From version 5.0.0 to before version 8.6.2, the pickle unpickler _RestrictedUnpickler validates which classes can be loaded but does not limit their constructor arguments. A few of the types in SAFE_TO_IMPORT have constructors that allocate memory proportional to their input (builtins.bytes, builtins.list, builtins.range). A 40-byte pickle payload can force 10+ GB of memory, which crashes applications that load delta objects or call pickle_load with untrusted data. This issue has been patched in version 8.6.2.
Affected
4 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| debian | deepdiff | — | — |
| qluster | deepdiff | >= 5.0.0 < 8.6.2 | 8.6.2 |
| seperman | deepdiff | — | — |
| seperman | deepdiff | >= 5.0.0 < 8.6.2 | 8.6.2 |
CVSS provenance
nvdv3.17.5HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
nvdv4.08.7HIGHCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
ghsa10.0CRITICAL
osv10.0CRITICAL
vendor_debian8.7HIGH
vendor_redhat8.7HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
OSV
CVE-2026-33155: DeepDiff is a project focused on Deep Difference and search of any Python data
osv·2026-03-20·CVSS 8.7
CVE-2026-33155 [HIGH] CVE-2026-33155: DeepDiff is a project focused on Deep Difference and search of any Python data
DeepDiff is a project focused on Deep Difference and search of any Python data. From version 5.0.0 to before version 8.6.2, the pickle unpickler _RestrictedUnpickler validates which classes can be loaded but does not limit their constructor arguments. A few of the types in SAFE_TO_IMPORT have constructors that allocate memory proportional to their input (builtins.bytes, builtins.list, builtins.range). A 40-byte pickle payload can force 10+ GB of memory, which crashes applications that load delta objects or call pickle_load with untrusted data. This issue has been patched in version 8.6.2.
OSV
DeepDiff has Memory Exhaustion DoS through SAFE_TO_IMPORT
osv·2026-03-18·CVSS 10.0
CVE-2026-33155 [CRITICAL] DeepDiff has Memory Exhaustion DoS through SAFE_TO_IMPORT
DeepDiff has Memory Exhaustion DoS through SAFE_TO_IMPORT
### Summary
The pickle unpickler `_RestrictedUnpickler` validates which classes can be loaded but does not limit their constructor arguments. A few of the types in `SAFE_TO_IMPORT` have constructors that allocate memory proportional to their input (`builtins.bytes`, `builtins.list`, `builtins.range`). A 40-byte pickle payload can force 10+ GB of memory, which crashes applications that load delta objects or call `pickle_load` with untrusted data.
### Details
CVE-2025-58367 hardened the delta class against pollution and remote code execution by converting `SAFE_TO_IMPORT` to a `frozenset` and blocking traversal. `_RestrictedUnpickler.find_class` only gates which classes can be loaded. It doesn't intercept `REDUCE` opcodes or valid
GHSA
DeepDiff has Memory Exhaustion DoS through SAFE_TO_IMPORT
ghsa·2026-03-18·CVSS 10.0
CVE-2026-33155 [CRITICAL] CWE-400 DeepDiff has Memory Exhaustion DoS through SAFE_TO_IMPORT
DeepDiff has Memory Exhaustion DoS through SAFE_TO_IMPORT
### Summary
The pickle unpickler `_RestrictedUnpickler` validates which classes can be loaded but does not limit their constructor arguments. A few of the types in `SAFE_TO_IMPORT` have constructors that allocate memory proportional to their input (`builtins.bytes`, `builtins.list`, `builtins.range`). A 40-byte pickle payload can force 10+ GB of memory, which crashes applications that load delta objects or call `pickle_load` with untrusted data.
### Details
CVE-2025-58367 hardened the delta class against pollution and remote code execution by converting `SAFE_TO_IMPORT` to a `frozenset` and blocking traversal. `_RestrictedUnpickler.find_class` only gates which classes can be loaded. It doesn't intercept `REDUCE` opcodes or valid
Red Hat
deepdiff: python: DeepDiff: Denial of Service via unrestricted memory allocation in pickle unpickler
vendor_redhat·2026-03-20·CVSS 8.7
CVE-2026-33155 [HIGH] CWE-502 deepdiff: python: DeepDiff: Denial of Service via unrestricted memory allocation in pickle unpickler
deepdiff: python: DeepDiff: Denial of Service via unrestricted memory allocation in pickle unpickler
DeepDiff is a project focused on Deep Difference and search of any Python data. From version 5.0.0 to before version 8.6.2, the pickle unpickler _RestrictedUnpickler validates which classes can be loaded but does not limit their constructor arguments. A few of the types in SAFE_TO_IMPORT have constructors that allocate memory proportional to their input (builtins.bytes, builtins.list, builtins.range). A 40-byte pickle payload can force 10+ GB of memory, which crashes applications that load delta objects or call pickle_load with untrusted data. This issue has been patched in version 8.6.2.
A flaw was found in DeepDiff. A remote attacker could exploit a vulnerability in the `_RestrictedUnpi
Debian
CVE-2026-33155: deepdiff - DeepDiff is a project focused on Deep Difference and search of any Python data. ...
vendor_debian·2026·CVSS 8.7
CVE-2026-33155 [HIGH] CVE-2026-33155: deepdiff - DeepDiff is a project focused on Deep Difference and search of any Python data. ...
DeepDiff is a project focused on Deep Difference and search of any Python data. From version 5.0.0 to before version 8.6.2, the pickle unpickler _RestrictedUnpickler validates which classes can be loaded but does not limit their constructor arguments. A few of the types in SAFE_TO_IMPORT have constructors that allocate memory proportional to their input (builtins.bytes, builtins.list, builtins.range). A 40-byte pickle payload can force 10+ GB of memory, which crashes applications that load delta objects or call pickle_load with untrusted data. This issue has been patched in version 8.6.2.
Scope: local
bookworm: open
bullseye: open
forky: open
sid: open
trixie: open
No detection rules found.
No public exploits indexed.
Wiz
CVE-2026-33155 Impact, Exploitability, and Mitigation Steps | Wiz
blogs_wiz·CVSS 8.7
CVE-2026-33155 [HIGH] CVE-2026-33155 Impact, Exploitability, and Mitigation Steps | Wiz
## CVE-2026-33155 :
Python vulnerability analysis and mitigation
DeepDiff is a project focused on Deep Difference and search of any Python data. From version 5.0.0 to before version 8.6.2, the pickle unpickler _RestrictedUnpickler validates which classes can be loaded but does not limit their constructor arguments. A few of the types in SAFE_TO_IMPORT have constructors that allocate memory proportional to their input (builtins.bytes, builtins.list, builtins.range). A 40-byte pickle payload can force 10+ GB of memory, which crashes applications that load delta objects or call pickle_load with untrusted data. This issue has been patched in version 8.6.2.
Source : NVD
## 8.7
Score
Published March 20, 2026
Severity HIGH
CNA Score 8.7
Affected Technologies
Python
Chainguard
Has Pu
Bugzilla
CVE-2026-33155 deepdiff: DeepDiff: Denial of Service via unrestricted memory allocation in pickle unpickler
bugzilla·2026-03-20·CVSS 8.7
CVE-2026-33155 [HIGH] CVE-2026-33155 deepdiff: DeepDiff: Denial of Service via unrestricted memory allocation in pickle unpickler
CVE-2026-33155 deepdiff: DeepDiff: Denial of Service via unrestricted memory allocation in pickle unpickler
DeepDiff is a project focused on Deep Difference and search of any Python data. From version 5.0.0 to before version 8.6.2, the pickle unpickler _RestrictedUnpickler validates which classes can be loaded but does not limit their constructor arguments. A few of the types in SAFE_TO_IMPORT have constructors that allocate memory proportional to their input (builtins.bytes, builtins.list, builtins.range). A 40-byte pickle payload can force 10+ GB of memory, which crashes applications that load delta objects or call pickle_load with untrusted data. This issue has been patched in version 8.6.2.
2026-03-20
Published