CRITICAL🇬🇧 English

CVE-2020-5413

RCE przez deserializację Kryo w Spring Integration Framework

CVSS 9.8v3.1pub. 2020-07-31upd. 2024-11-21

Spring Integration Framework umożliwia atakującemu zdalne wykonanie kodu poprzez wykorzystanie podatności deserializacji w implementacji Kryo Codec. Podatność jest krytyczna, ponieważ nie wymaga uwierzytelnienia ani interakcji użytkownika, a jej wykorzystanie może prowadzić do pełnego przejęcia kontroli nad systemem.

Pokaż oryginał (EN)

Spring Integration framework provides Kryo Codec implementations as an alternative for Java (de)serialization. When Kryo is configured with default options, all unregistered classes are resolved on demand. This leads to the "deserialization gadgets" exploit when provided data contains malicious code for execution during deserialization. In order to protect against this type of attack, Kryo can be configured to require a set of trusted classes for (de)serialization. Spring Integration should be proactive against blocking unknown "deserialization gadgets" when configuring Kryo in code.

🤖 Analiza AI
Jak działa

Spring Integration oferuje implementacje Kryo Codec jako alternatywę dla natywnej serializacji Java. Gdy Kryo skonfigurowany jest z domyślnymi ustawieniami, wszystkie niezarejestrowane klasy są rozwiązywane dynamicznie na żądanie podczas deserializacji. Atakujący może dostarczyć spreparowane dane zawierające złośliwy kod w postaci tzw. 'deserialization gadgets', który zostanie wykonany w momencie deserializacji przez Kryo. Podatność wynika z braku mechanizmu wymuszającego korzystanie wyłącznie z zaufanych, z góry zdefiniowanych klas podczas procesu deserializacji.

Skutki

Atakujący bez żadnego uwierzytelnienia może doprowadzić do zdalnego wykonania dowolnego kodu (RCE) na serwerze, co skutkuje pełnym naruszeniem poufności, integralności oraz dostępności systemu.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami VMware (https://tanzu.vmware.com/security/cve-2020-5413) oraz Oracle. Jako środek zaradczy należy skonfigurować Kryo tak, aby wymagał jawnie zdefiniowanego zestawu zaufanych klas do (de)serializacji, zamiast dynamicznego rozwiązywania niezarejestrowanych klas na żądanie.

Kogo dotyczy

VMware Spring Integration (wersje wskazane w referencjach producenta) oraz Oracle Banking Corporate Lending Process Management (wersje wskazane w referencjach Oracle).

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Oracle Banking Corporate Lending Process Management

    APP
    Oracle
    14.2.014.3.014.5.0
  • Oracle Banking Credit Facilities Process Management

    APP
    Oracle
    14.2.014.3.014.5.0
  • Oracle Banking Supply Chain Finance

    APP
    Oracle
    14.2.014.3.014.5.0
  • Oracle Banking Virtual Account Management

    APP
    Oracle
    14.2.014.3.014.5.0
  • Oracle Flexcube Private Banking

    APP
    Oracle
    12.0.012.1.0
  • Oracle Retail Customer Management And Segmentation Foundation

    APP
    Oracle
    16.0 – 19.0
  • Oracle Retail Merchandising System

    APP
    Oracle
    16.0.3
  • VMware Spring Integration

    APP
    Vmware
    5.3.0 – 5.3.15.2.0 – 5.2.75.1.0 – 5.1.114.3.0 – 4.3.22
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Deserialization
CWE
Referencje

Powiązane podatności

CVE-2022-22963CRITICAL9.8⚠ KEVPL ✓ten sam produkt

RCE w Spring Cloud Function poprzez złośliwy SpEL routing-expression

CVE-2022-22965CRITICAL9.8⚠ KEVPL ✓ten sam produkt

Spring4Shell — RCE przez data binding w Spring MVC/WebFlux na JDK 9+

CVE-2020-11998CRITICAL9.8PL ✓ten sam produkt

Apache ActiveMQ — RCE przez błędną konfigurację JMX RMIConnectorServer

CVE-2020-11972CRITICAL9.8PL ✓ten sam produkt

Apache Camel RabbitMQ — niebezpieczna deserializacja Java (RCE)

CVE-2020-11973CRITICAL9.8PL ✓ten sam produkt

Apache Camel Netty — niebezpieczna deserializacja Java (RCE)