CVE-2026-33155·Python vulnerability
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.
- Severity
- high
- Software
- Python
- Fixed in
- 8.6.2
- Published
- 2026-03-20
Affected versions
From: 5.0.0
Until: 8.6.2
Fixed in: 8.6.2
How to fix this CVE
Update DeepDiff to version 8.6.2 or later to patch a memory exhaustion vulnerability in the pickle unpickler. Applications using DeepDiff to deserialize untrusted pickle data are at immediate risk of denial of service attacks. Ensure all Python environments running DeepDiff versions 5.0.0 through 8.6.1 are upgraded without delay.
sudo dnf update python3-deepdiffDefensia detects this vulnerability
How to check if you are affected
- Check installed DeepDiff version: python3 -c "import deepdiff; print(deepdiff.__version__)"
- Identify processes using DeepDiff: grep -r "from deepdiff import" /path/to/application --include="*.py"
- Search application logs for pickle.loads() or pickle_load calls: grep -E "pickle\.(loads?|load)|pickle_load" /var/log/application.log
- Verify patch applied: python3 -c "import deepdiff; print('Patched' if deepdiff.__version__ >= '8.6.2' else 'Vulnerable')"
FAQ
What is CVE-2026-33155?
CVE-2026-33155 is a memory exhaustion vulnerability in DeepDiff's pickle deserialization mechanism that allows attackers to craft small payloads (as small as 40 bytes) that force allocation of excessive memory (10+ GB), causing application crashes.
Is CVE-2026-33155 being actively exploited?
No, this vulnerability is not currently listed in the CISA KEV catalog and no public exploits are available, though the risk remains significant for applications handling untrusted serialized data.
What versions of DeepDiff are affected by CVE-2026-33155?
DeepDiff versions 5.0.0 through 8.6.1 are vulnerable. Version 8.6.2 and later contain the security patch.
How do I check if my server is vulnerable to CVE-2026-33155?
Run: python3 -c "import deepdiff; affected = deepdiff.__version__ < '8.6.2'; print(f'Vulnerable: {affected}')". If the output shows 'Vulnerable: True', update immediately.
Does Defensia detect CVE-2026-33155?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If DeepDiff is installed on a monitored server, CVE-2026-33155 will appear in your dashboard with remediation steps.
Related Python CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2026-33155. Free for 1 server.
Get started free