CRITICAL✓ PATCH🇬🇧 English

CVE-2021-41035

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

CVSS 9.8v3.1pub. 2021-10-25upd. 2024-11-21

W Eclipse OpenJ9 przed wersją 0.29.0 maszyna wirtualna JVM nie zgłasza wyjątku IllegalAccessError dla obiektów MethodHandle wywołujących niedostępne metody interfejsów. Podatność ta może pozwolić na nieautoryzowany dostęp do metod, które powinny być niedostępne zgodnie z modelem kontroli dostępu Javy.

Pokaż oryginał (EN)

In Eclipse Openj9 before version 0.29.0, the JVM does not throw IllegalAccessError for MethodHandles that invoke inaccessible interface methods.

🤖 Analiza AI
Jak działa

Mechanizm MethodHandles w Javie powinien egzekwować ograniczenia dostępu analogiczne do standardowej refleksji — wywołanie niedostępnej metody interfejsu powinno skutkować wyrzuceniem wyjątku IllegalAccessError. W podatnej wersji OpenJ9 ten mechanizm kontroli dostępu nie jest prawidłowo stosowany, przez co JVM pomija weryfikację uprawnień. Atakujący może skonstruować odpowiedni obiekt MethodHandle, który wywoła metodę interfejsu normalnie niedostępną w danym kontekście, obchodząc tym samym zasady widoczności i hermetyzacji.

Skutki

Atakujący może uzyskać nieautoryzowany dostęp do chronionych metod interfejsów, co prowadzi do naruszenia poufności, integralności oraz dostępności danych i zasobów aplikacji. W zależności od kontekstu aplikacji możliwe jest wykonanie nieautoryzowanych operacji z podwyższonymi uprawnieniami (privilege escalation).

Mitygacja

Należy zaktualizować Eclipse OpenJ9 do wersji 0.29.0 lub nowszej, w której poprawka została wprowadzona. Szczegóły dostępne w referencjach producenta oraz w pull requeście nr 13740 na GitHubie projektu.

Kogo dotyczy

Eclipse OpenJ9 we wszystkich wersjach przed 0.29.0

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

    APP
    Eclipse
    < 0.29.0
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
CWE
Referencje

Powiązane podatności

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-2019-11772CRITICAL9.8PL ✓ten sam produkt

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

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