CRITICAL🇬🇧 English

CVE-2019-11772

Eclipse OpenJ9: arbitralny zapis pamięci przez metodę String.getBytes() w JIT

CVSS 9.8v3.0pub. 2019-07-17upd. 2024-11-21

Metoda String.getBytes(int, int, byte[], int) w Eclipse OpenJ9 przed wersją 0.15 nie weryfikuje poprawności przekazanej tablicy bajtów ani indeksu podczas kompilacji przez JIT. Podatność umożliwia arbitralny zapis do dowolnego 32-bitowego adresu pamięci, nawet w środowisku chronionym przez SecurityManager.

Pokaż oryginał (EN)

In Eclipse OpenJ9 prior to 0.15, the String.getBytes(int, int, byte[], int) method does not verify that the provided byte array is non-null nor that the provided index is in bounds when compiled by the JIT. This allows arbitrary writes to any 32-bit address or beyond the end of a byte array within Java code run under a SecurityManager.

🤖 Analiza AI
Jak działa

Kompilator JIT (Just-In-Time) w Eclipse OpenJ9 pomija walidację argumentów wywołania metody String.getBytes(int, int, byte[], int) — nie sprawdza czy przekazana tablica bajtów jest różna od null ani czy podany indeks mieści się w granicach tablicy. W efekcie złośliwy kod Java może wywołać tę metodę z odpowiednio spreparowanymi argumentami, powodując zapis danych poza granicami tablicy (out-of-bounds write, CWE-787) lub pod dowolny 32-bitowy adres pamięci. Co istotne, atak jest możliwy nawet w kontekście kodu uruchomionego pod nadzorem SecurityManagera, który normalnie powinien ograniczać niebezpieczne operacje.

Skutki

Atakujący może dokonać arbitralnego zapisu pamięci procesu JVM, co w praktyce może prowadzić do wykonania dowolnego kodu (RCE), eskalacji uprawnień lub destabilizacji działania aplikacji (denial of service). Podatność narusza poufność, integralność i dostępność systemu.

Mitygacja

Należy zaktualizować Eclipse OpenJ9 do wersji 0.15 lub nowszej. Użytkownicy dystrybucji Red Hat powinni zastosować patche opisane w erratach RHSA-2019:2585, RHSA-2019:2590, RHSA-2019:2592 oraz RHSA-2019:2737.

Kogo dotyczy

Eclipse OpenJ9 w wersjach wcześniejszych niż 0.15.

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Eclipse Openj9

    APP
    Eclipse
    < 0.15.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2021-41035CRITICAL9.8PL ✓ten sam produkt

Eclipse OpenJ9: brak weryfikacji dostępu do niedostępnych metod interfejsów przez MethodHandles

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

Stack-based buffer overflow w Eclipse OpenJ9 przy konwersji kodowania UTF-8

CVE-2019-17631CRITICAL9.1PL ✓ten sam produkt

Eclipse OpenJ9: brak kontroli uprawnień do operacji diagnostycznych

CVE-2018-12547CRITICAL9.8PL ✓ten sam produkt

Eclipse OpenJ9: przepełnienie bufora w jio_snprintf() i jio_vsnprintf()

CVE-2018-12549CRITICAL9.8PL ✓ten sam produkt

Eclipse OpenJ9: błędne pominięcie null check w kompilatorze JIT