HIGH🇬🇧 English

CVE-2026-12185

Bouncy Castle for Java: nadmierna alokacja pamięci w BKS/UBER keystore przed weryfikacją integralności

CVSS 7.1v4.0pub. 2026-08-03upd. 2026-08-28

Biblioteka Bouncy Castle for Java alokuje pamięć na podstawie niezaufanych wartości długości odczytanych z pliku keystore BKS/UBER, zanim zostanie przeprowadzona weryfikacja integralności danych. Może to prowadzić do wyczerpania dostępnej pamięci przez spreparowany plik keystore, skutkując odmową usługi (DoS).

Pokaż oryginał (EN)

In Bouncy Castle for Java before 1.85, BKS/UBER keystore allocates from untrusted lengths before integrity check. This issue also affects Bouncy Castle for Java LTS before 2.73.12.

🤖 Analiza AI
Jak działa

Podatność (CWE-789: Uncontrolled Memory Allocation) polega na tym, że podczas parsowania keystore'ów w formatach BKS lub UBER aplikacja odczytuje wartości długości bezpośrednio z niezaufanego wejścia i na ich podstawie dokonuje alokacji pamięci. Weryfikacja integralności (np. sprawdzenie sumy kontrolnej lub podpisu) następuje dopiero po tej alokacji, a nie przed nią. Osoba atakująca może dostarczyć spreparowany plik keystore zawierający wygórowane wartości długości, wymuszając alokację bardzo dużych bloków pamięci.

Skutki

Atakujący może spowodować wyczerpanie pamięci heap aplikacji korzystającej z biblioteki Bouncy Castle, co prowadzi do odmowy usługi (DoS) — aplikacja może stać się niestabilna lub ulec awarii.

Mitygacja

Należy zaktualizować Bouncy Castle for Java do wersji 1.85 lub nowszej, a w przypadku gałęzi LTS — do wersji 2.73.12 lub nowszej. Szczegóły dostępne w referencjach producenta: https://github.com/bcgit/bc-java/wiki/CVE-2026-12185

Kogo dotyczy

Bouncy Castle for Java przed wersją 1.85 oraz Bouncy Castle for Java LTS przed wersją 2.73.12.

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:Amber
  • Bouncycastle Bc Java

    APP
    Bouncycastle
    < 1.85
  • Bouncycastle Bouncy Castle For Java Lts

    APP
    Bouncycastle
    ≤ 2.73.11
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje

Powiązane podatności

CVE-2026-59638CRITICAL9.3PL ✓ten sam produkt

Bouncy Castle Java: błędna weryfikacja hostname (CN-fallback) w JSSE

CVE-2026-59650CRITICAL9.3PL ✓ten sam produkt

Bouncy Castle Java: brak walidacji wartości peer w protokole MTI/A0 DH

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

Niebezpieczna refleksja przy deserializacji klucza XMSS w Bouncy Castle

CVE-2026-12852HIGH8.7PL ✓ten sam produkt

Bouncy Castle for Java: przedwczesna alokacja pamięci w dekoderze MLS

CVE-2026-12817HIGH8.7PL ✓ten sam produkt

Bouncy Castle for Java: pominięcie weryfikacji tagu AEAD w OpenPGP