CRITICAL🇬🇧 English

CVE-2024-23636

Obejście blacklisty deserializacji w SOFARPC (Hessian gadget chain)

CVSS 9.8v3.1pub. 2024-01-23upd. 2024-11-21

SOFARPC w wersjach przed 5.12.0 zawiera podatność umożliwiającą obejście mechanizmu ochrony opartego na blackliście podczas deserializacji danych protokołem SOFA Hessian. Podatność jest krytyczna, ponieważ nie wymaga uwierzytelnienia ani udziału użytkownika i może być wykorzystana zdalnie.

Pokaż oryginał (EN)

SOFARPC is a Java RPC framework. SOFARPC defaults to using the SOFA Hessian protocol to deserialize received data, while the SOFA Hessian protocol uses a blacklist mechanism to restrict deserialization of potentially dangerous classes for security protection. But, prior to version 5.12.0, there is a gadget chain that can bypass the SOFA Hessian blacklist protection mechanism, and this gadget chain only relies on JDK and does not rely on any third-party components. Version 5.12.0 fixed this issue by adding a blacklist. SOFARPC also provides a way to add additional blacklists. Users can add a class like `-Drpc_serialize_blacklist_override=org.apache.xpath.` to avoid this issue.

🤖 Analiza AI
Jak działa

SOFARPC domyślnie używa protokołu SOFA Hessian do deserializacji odbieranych danych i stosuje mechanizm blacklisty, aby blokować deserializację potencjalnie niebezpiecznych klas. Istnieje jednak łańcuch gadżetów (gadget chain), który pozwala ominąć tę blacklistę. Co istotne, łańcuch ten opiera się wyłącznie na komponentach wbudowanych w JDK i nie wymaga żadnych zewnętrznych bibliotek. Atakujący może wysłać spreparowany payload, który zostanie zdeserializowany przez serwer z pominięciem zabezpieczeń.

Skutki

Pomyślne wykorzystanie podatności może pozwolić atakującemu na wykonanie dowolnego kodu na serwerze (RCE), co w konsekwencji może prowadzić do pełnego przejęcia systemu, ujawnienia poufnych danych lub zakłócenia jego działania.

Mitygacja

Należy zaktualizować SOFARPC do wersji 5.12.0 lub nowszej, która rozszerza blacklistę deserializacji. Jako obejście tymczasowe można dodać własne wpisy do blacklisty za pomocą parametru JVM: `-Drpc_serialize_blacklist_override=org.apache.xpath.` (lub innych odpowiednich klas) zgodnie z dokumentacją producenta.

Kogo dotyczy

SOFARPC (sofastack/sofa-rpc) w wersjach przed 5.12.0

Uwagi

Podatność dotyczy wyłącznie środowisk, w których SOFARPC nasłuchuje na publicznych lub niezaufanych interfejsach sieciowych. Łańcuch gadżetów wykorzystuje wyłącznie klasy JDK, co eliminuje konieczność obecności zewnętrznych bibliotek i zwiększa powszechność podatności.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Sofastack Sofarpc

    APP
    Sofastack
    < 5.12.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Deserialization
CWE
Referencje

Powiązane podatności

CVE-2023-41331CRITICAL9.8ten sam produkt

SOFARPC is a Java RPC framework. Versions prior to 5.11.0 are vulnerable to remote command execution. Through ...