Podatność w bibliotece Bouncy Castle dla Java umożliwia obejście ograniczeń nazw (Name Constraints) w certyfikatach X.509 poprzez użycie kropki na końcu nazwy (trailing dot) w polach rfc822Name i URI. Jest to groźne, ponieważ atakujący może przedstawić certyfikat wystawiony dla domeny spoza dozwolonego zakresu jako prawidłowy.
▸ Pokaż oryginał (EN)
In Bouncy Castle for Java before 1.85, Name Constraints bypass via trailing dot in rfc822Name and URI. This issue also affects Bouncy Castle for Java LTS before 2.73.12, and Bouncy Castle for Java FIPS (BC-FJA) before bc-fips 1.0.2.7 (1.0.X series), 2.0.2 (2.0.X series) and 2.1.3 (2.1.X series).
Mechanizm weryfikacji Name Constraints w certyfikatach X.509 służy do ograniczania, dla jakich domen lub adresów e-mail dana jednostka certyfikująca (CA) może wystawiać certyfikaty. Błąd polega na tym, że biblioteka Bouncy Castle nieprawidłowo przetwarza nazwy zawierające dodatkową kropkę na końcu (trailing dot) w polach rfc822Name (adres e-mail) oraz URI. Napastnik mogący wystawić lub przedstawić certyfikat z taką zmodyfikowaną nazwą może skutecznie ominąć zdefiniowane ograniczenia, co klasyfikuje się jako nieprawidłowa walidacja certyfikatu (CWE-295).
Atakujący może ominąć politykę Name Constraints i przedstawić fałszywy lub nieautoryzowany certyfikat jako zaufany, co może prowadzić do przejęcia tożsamości serwera lub naruszenia poufności i integralności komunikacji.
Należy zaktualizować bibliotekę do wersji co najmniej: Bouncy Castle dla Java 1.85 lub nowszej; Bouncy Castle dla Java LTS 2.73.12 lub nowszej; Bouncy Castle dla Java FIPS (BC-FJA) do wersji 1.0.2.7 (seria 1.0.X), 2.0.2 (seria 2.0.X) lub 2.1.3 (seria 2.1.X). Szczegóły dostępne w referencjach producenta na GitHub.
Bouncy Castle dla Java przed wersją 1.85; Bouncy Castle dla Java LTS przed wersją 2.73.12; Bouncy Castle dla Java FIPS (BC-FJA) przed wersjami bc-fips 1.0.2.7 (seria 1.0.X), 2.0.2 (seria 2.0.X) oraz 2.1.3 (seria 2.1.X)
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:Amber