CRITICAL🇬🇧 English

CVE-2025-58367

RCE i DoS w bibliotece DeepDiff via class pollution i Pickle deserialization

CVSS 10.0v4.0pub. 2025-09-05upd. 2026-04-15

Biblioteka Python DeepDiff w wersjach 5.0.0–8.6.0 jest podatna na class pollution za pośrednictwem konstruktora klasy Delta, co w połączeniu z gadżetem dostępnym w DeltaDiff może prowadzić do wykonania dowolnego kodu (RCE) oraz ataku odmowy usługi (DoS). Podatność otrzymała maksymalny wynik CVSS 10.0 i nie wymaga żadnego uwierzytelnienia ani interakcji użytkownika.

Pokaż oryginał (EN)

DeepDiff is a project focused on Deep Difference and search of any Python data. Versions 5.0.0 through 8.6.0 are vulnerable to class pollution via the Delta class constructor, and when combined with a gadget available in DeltaDiff, it can lead to Denial of Service and Remote Code Execution (via insecure Pickle deserialization) exploitation. The gadget available in DeepDiff allows `deepdiff.serialization.SAFE_TO_IMPORT` to be modified to allow dangerous classes such as posix.system, and then perform insecure Pickle deserialization via the Delta class. This potentially allows any Python code to be executed, given that the input to Delta is user-controlled. Depending on the application where DeepDiff is used, this can also lead to other vulnerabilities. This is fixed in version 8.6.1.

🤖 Analiza AI
Jak działa

Atakujący wykorzystuje podatność class pollution w konstruktorze klasy Delta, aby zmodyfikować zmienną `deepdiff.serialization.SAFE_TO_IMPORT`, dodając do niej niebezpieczne klasy, takie jak `posix.system`. Następnie, korzystając z gadżetu dostępnego w DeepDiff, przeprowadzany jest niebezpieczny proces deserializacji Pickle za pośrednictwem klasy Delta. Jeśli dane wejściowe przekazywane do klasy Delta są kontrolowane przez użytkownika, możliwe jest wykonanie dowolnego kodu Python. W zależności od kontekstu aplikacji korzystającej z DeepDiff exploit może również otwierać drogę do innych podatności.

Skutki

Atakujący może wykonać dowolny kod Python na serwerze (RCE) lub spowodować niedostępność usługi (DoS). W scenariuszu pełnego przejęcia możliwe jest uzyskanie pełnej kontroli nad systemem, na którym działa podatna aplikacja.

Mitygacja

Należy zaktualizować bibliotekę DeepDiff do wersji 8.6.1, w której podatność została naprawiona. Patch dostępny jest w oficjalnym repozytorium projektu na GitHub (commit c69c06c13f75e849c770ade3f556cd16209fd183). Do czasu aktualizacji należy upewnić się, że żadne dane niezaufanego pochodzenia nie są przekazywane do konstruktora klasy Delta.

Kogo dotyczy

Biblioteka Python DeepDiff w wersjach od 5.0.0 do 8.6.0 włącznie. Dotyczy wszystkich aplikacji, które przekazują dane kontrolowane przez użytkownika do klasy Delta biblioteki DeepDiff.

Uwagi

Podatność dotyczy bardzo popularnej biblioteki Python służącej do porównywania danych. Szczególnie narażone są aplikacje webowe i API, które przyjmują dane od użytkowników i przetwarzają je przy użyciu klasy Delta biblioteki DeepDiff.

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/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
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEDoSDeserialization
CWE
Referencje