Biblioteka Bouncy Castle for Java przed wersją 1.85 (oraz LTS przed 2.73.12) nie waliduje wartości przekazanej przez zdalną stronę podczas uzgadniania klucza metodą MTI/A0 Diffie-Hellman. Podatność umożliwia zdalnemu atakującemu nieuwierzytelniony odczyt lub modyfikację poufnych danych bez jakiejkolwiek interakcji użytkownika, co czyni ją wyjątkowo niebezpieczną.
▸ Pokaż oryginał (EN)
In Bouncy Castle for Java before 1.85, MTI/A0 DH agreement exponentiates unvalidated peer value. This issue also affects Bouncy Castle for Java LTS before 2.73.12.
Podczas wykonywania uzgodnienia klucza w schemacie MTI/A0 opartym na protokole Diffie-Hellman biblioteka przeprowadza operację potęgowania (eksponencjacji) na wartości dostarczonej przez zdalną stronę bez uprzedniego sprawdzenia jej poprawności. Brak walidacji wejścia (CWE-20) oznacza, że atakujący może podsunąć specjalnie spreparowaną wartość peer, wpływając w ten sposób na wynik uzgodnienia klucza. Podatność jest eksploitowalna zdalnie, bez uwierzytelnienia i bez udziału użytkownika.
Atakujący może uzyskać nieautoryzowany dostęp do poufnych informacji chronionych kryptograficznie (naruszenie poufności) lub doprowadzić do przyjęcia sfałszowanego klucza sesji, co umożliwia modyfikację danych (naruszenie integralności).
Należy zaktualizować Bouncy Castle for Java do wersji 1.85 lub nowszej, a w przypadku linii LTS — do wersji 2.73.12 lub nowszej. Poprawka dostępna jest w repozytorium projektu (commit daeaae9d7075d04f40812e68671ebf4c777b5148). Należy zastosować patche dostępne u producenta zgodnie z referencjami.
Bouncy Castle for Java w wersjach przed 1.85 oraz Bouncy Castle for Java LTS w wersjach przed 2.73.12.
Poprawka została opublikowana w repozytorium GitHub projektu bc-java pod adresem wskazanym w referencjach. Podatność opisana jest również na wiki projektu pod CVE-2026-59650.
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/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:AmberBouncycastle Bc Java
APPBouncycastle< 1.85Bouncycastle Bouncy Castle For Java Lts
APPBouncycastle≤ 2.73.11
Powiązane podatności
Bouncy Castle Java: błędna weryfikacja hostname (CN-fallback) w JSSE
Bouncy Castle dla Java — bypass Name Constraints przez trailing dot
Bouncy Castle for Java — błędna weryfikacja OCSP (CWE-295)
Niebezpieczna refleksja przy deserializacji klucza XMSS w Bouncy Castle
Bouncy Castle dla Java — brak weryfikacji tag-length w CMS AuthEnvelopedData