DeepDiff has Memory Exhaustion DoS through SAFE_TO_IMPORT
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.
References
Affected products
- ==>= 5.0.0, < 8.6.2
Matching in nixpkgs
pkgs.deepdiff
Deep Difference and Search of any Python object/data
pkgs.python312Packages.deepdiff
Deep Difference and Search of any Python object/data
pkgs.python313Packages.deepdiff
Deep Difference and Search of any Python object/data
pkgs.python314Packages.deepdiff
Deep Difference and Search of any Python object/data
Package maintainers
-
@Mic92 Jörg Thalheim <joerg@thalheim.io>
-
@doronbehar Doron Behar <me@doronbehar.com>