HIGH🇬🇧 English

CVE-2026-59646

Bouncy Castle DTLS: niekontrolowana alokacja bufora z 24-bitowej długości

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

Biblioteka Bouncy Castle for Java zawiera podatność w mechanizmie składania fragmentów handshake protokołu DTLS, gdzie bufor jest alokowany na podstawie niezweryfikowanej 24-bitowej wartości długości. Umożliwia to zdalnemu, nieuwierzytelnionemu atakującemu wywołanie wyczerpania pamięci i niedostępności usługi (DoS).

Pokaż oryginał (EN)

In Bouncy Castle for Java before 1.85, DTLS handshake reassembler allocates buffer from unchecked 24-bit length. This issue also affects Bouncy Castle for Java LTS before 2.73.12, and Bouncy Castle for Java FIPS (BC-FJA) before bctls-fips 1.0.24 (1.0.X series), 2.0.24 (2.0.X series) and 2.1.24 (2.1.X series).

🤖 Analiza AI
Jak działa

Podczas procesu DTLS handshake moduł reassemblera fragmentów odczytuje 24-bitowe pole długości z odebranego pakietu i natychmiast na jego podstawie alokuje bufor w pamięci, bez uprzedniej walidacji tej wartości. Atakujący może przesłać specjalnie spreparowany pakiet DTLS z zawyżoną wartością pola długości, wymuszając tym samym alokację bardzo dużego bufora. Wielokrotne lub jednorazowe wysłanie takiego pakietu może doprowadzić do wyczerpania dostępnej pamięci procesu i awarii aplikacji.

Skutki

Atakujący zdalnie, bez uwierzytelnienia, może doprowadzić do odmowy usługi (DoS) poprzez wyczerpanie zasobów pamięci aplikacji korzystającej z podatnych wersji biblioteki Bouncy Castle.

Mitygacja

Należy zaktualizować bibliotekę do wersji: Bouncy Castle for Java 1.85 lub nowszej, Bouncy Castle for Java LTS 2.73.12 lub nowszej, BC-FJA bctls-fips 1.0.24 / 2.0.24 / 2.1.24 lub nowszych (odpowiednio dla używanej serii). Patche dostępne są w repozytorium projektu — szczegóły w referencjach producenta.

Kogo dotyczy

Bouncy Castle for Java przed wersją 1.85; Bouncy Castle for Java LTS przed wersją 2.73.12; Bouncy Castle for Java FIPS (BC-FJA) — bctls-fips przed wersjami 1.0.24 (seria 1.0.X), 2.0.24 (seria 2.0.X) oraz 2.1.24 (seria 2.1.X)

Uwagi

Podatność dotyczy wyłącznie komponentu DTLS — aplikacje nieużywające protokołu DTLS z biblioteką Bouncy Castle nie są narażone. Szczegóły opublikowano na wiki projektu bcgit/bc-java.

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/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 Bctls Fips

    APP
    Bouncycastle
    < 1.0.242.0.19 – 2.0.24 (bez)2.1.20 – 2.1.24 (bez)
  • 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-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-12185HIGH7.1PL ✓ten sam produkt

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

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

Bouncy Castle for Java — błąd weryfikacji podpisu RSA PKCS#1 (pominięcie bajtów skrótu)