CRITICAL🇬🇧 English

CVE-2023-41331

RCE poprzez niekompletną czarną listę deserializacji w SOFARPC

CVSS 9.8v3.1pub. 2023-09-12upd. 2024-11-21

SOFARPC w wersjach wcześniejszych niż 5.11.0 zawiera podatność umożliwiającą zdalne wykonanie poleceń (RCE) poprzez błędnie skonfigurowany mechanizm filtrowania deserializacji. Atakujący bez jakiegokolwiek uwierzytelnienia może wykonać dowolne polecenia systemowe lub przeprowadzić atak JNDI injection.

Pokaż oryginał (EN)

SOFARPC is a Java RPC framework. Versions prior to 5.11.0 are vulnerable to remote command execution. Through a carefully crafted payload, an attacker can achieve JNDI injection or system command execution. In the default configuration of the SOFARPC framework, a blacklist is used to filter out dangerous classes encountered during the deserialization process. However, the blacklist is not comprehensive, and an actor can exploit certain native JDK classes and common third-party packages to construct gadget chains capable of achieving JNDI injection or system command execution attacks. Version 5.11.0 contains a fix for this issue. As a workaround, users can add `-Drpc_serialize_blacklist_override=javax.sound.sampled.AudioFileFormat` to the blacklist.

🤖 Analiza AI
Jak działa

Framework SOFARPC stosuje czarną listę klas filtrowanych podczas procesu deserializacji, jednak lista ta jest niekompletna. Atakujący może skonstruować specjalnie spreparowany payload wykorzystujący natywne klasy JDK oraz popularne biblioteki firm trzecich do budowy tzw. gadget chains. Za pomocą tych łańcuchów możliwe jest przeprowadzenie ataku JNDI injection lub bezpośrednie wykonanie poleceń systemowych na serwerze docelowym. Podatność klasyfikowana jest jako CWE-917 (Expression Language Injection), a wektor ataku jest sieciowy, bez wymagań dotyczących uwierzytelnienia ani interakcji użytkownika.

Skutki

Atakujący może uzyskać pełną kontrolę nad systemem, wykonując dowolne polecenia systemowe lub przeprowadzając JNDI injection, co prowadzi do naruszenia poufności, integralności i dostępności atakowanego serwera.

Mitygacja

Należy zaktualizować SOFARPC do wersji 5.11.0, która zawiera poprawkę dla tej podatności. Jako obejście (workaround) można dodać parametr `-Drpc_serialize_blacklist_override=javax.sound.sampled.AudioFileFormat` do czarnej listy deserializacji bez aktualizacji frameworka.

Kogo dotyczy

SOFARPC (Sofastack Sofa-RPC) w wersjach wcześniejszych niż 5.11.0

Uwagi

Producent udostępnił workaround polegający na rozszerzeniu czarnej listy deserializacji o klasę javax.sound.sampled.AudioFileFormat poprzez parametr JVM. Patch dostępny w repozytorium GitHub pod tagiem v5.11.0.

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.11.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Deserialization
CWE
Referencje

Powiązane podatności

CVE-2024-23636CRITICAL9.8PL ✓ten sam produkt

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