W bibliotece Bouncy Castle for Java liczba poziomów klucza publicznego HSS nie jest ograniczona, co umożliwia atakującemu wywołanie ogromnej alokacji pamięci podczas operacji weryfikacji. Podatność może prowadzić do odmowy usługi (DoS) w aplikacjach korzystających z tej biblioteki.
▸ Pokaż oryginał (EN)
In Bouncy Castle for Java before 1.85, HSS public-key level count unbounded, enabling huge allocation on verify. This issue also affects Bouncy Castle for Java LTS before 2.73.12, and Bouncy Castle for Java FIPS (BC-FJA) before bc-fips 2.0.2 (2.0.X series) and 2.1.3 (2.1.X series).
Mechanizm weryfikacji klucza publicznego HSS (Hierarchical Signature System) nie nakłada żadnego górnego limitu na liczbę poziomów klucza (level count). Atakujący może dostarczyć spreparowany klucz publiczny HSS z ekstremalnie dużą liczbą poziomów, co powoduje próbę alokacji ogromnych bloków pamięci podczas przetwarzania. Jest to klasyczny przypadek CWE-789 (Uncontrolled Memory Allocation), gdzie brak walidacji danych wejściowych prowadzi do wyczerpania zasobów systemowych.
Atakujący zdalnie, bez uwierzytelnienia, może doprowadzić do wyczerpania dostępnej pamięci i całkowitej niedostępności usługi (DoS) po stronie aplikacji korzystającej z podatnej wersji biblioteki.
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 2.0.2 (seria 2.0.X) lub 2.1.3 (seria 2.1.X) lub nowszych. Patche dostępne w referencjach producenta oraz w repozytorium projektu na GitHub.
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) przed wersją bc-fips 2.0.2 (seria 2.0.X) oraz przed wersją 2.1.3 (seria 2.1.X).
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