CVE-2026-103603
WysokieCVSS 8.7Streszczenie
W bibliotece bc-csharp (Bouncy Castle dla .NET) przed wersją 2.7.0 występuje podatność w kodzie podpisów HSS/LMS (HssPublicKeyParameters, HssSignature) polegająca na alokacji pamięci o nadmiernym rozmiarze. Atakujący może dostarczyć klucz publiczny HSS z nadmierną liczbą poziomów (L), co prowadzi do alokacji tablicy o rozmiarze L-1 i wyczerpania pamięci (nawet do ~17 GB) lub OutOfMemoryException.
Ocena ryzyka
Zdalny, nieuwierzytelniony atakujący może wywołać odmowę usługi poprzez wyczerpanie pamięci podczas weryfikacji podpisu HSS. Może to doprowadzić do awarii aplikacji lub całego systemu.
Rekomendacja
Update the Bouncy Castle for .NET (bc-csharp) library to version 2.7.0 or later. In the new version, the level count is checked against the RFC 8554 maximum of 8.
Inne podatności w Bouncy Castle (bc-csharp)
Zobacz wszystkie- CVE-2026-63570Wysokie
Podatność w bibliotece bc-csharp (Bouncy Castle dla .NET) w metodzie Pkcs12Store.GetCertificateChain polega na pętli bez osiągalnego warunku wyjścia. Atakujący może dostarczyć spreparowany plik PKCS#12, w którym łańcuch certyfikatów tworzy cykl (np. dwa certyfikaty wskazujące nawzajem swoje klucze publiczne przez AuthorityKeyIdentifier), co powoduje zawieszenie aplikacji i wyczerpanie pamięci aż do OutOfMemoryException.
- CVE-2026-103604Wysokie
W bibliotece bc-csharp (Bouncy Castle dla .NET) przed wersją 2.7.0 występuje nieefektywna złożoność algorytmiczna w konwersji nazw wyróżniających X.509 (X509Name.ToString i IetfUtilities.ValueToString). Atakujący może zdalnie, bez uwierzytelnienia, wywołać odmowę usługi poprzez wyczerpanie CPU, dostarczając certyfikat, CRL, żądanie certyfikatu lub inną strukturę, której nazwa zawiera długą wartość atrybutu wymagającą escapowania (np. przecinki, spacje wiodące/końcowe), powodując kwadratowy wzrost czasu przetwarzania.
- CVE-2026-103602Wysokie
W bibliotece bc-csharp (Bouncy Castle dla .NET) przed wersją 2.7.0 występuje nieprawidłowa walidacja certyfikatów w PkixNameConstraintValidator. Atakujący kontrolujący lub mogący uzyskać certyfikaty od pośredniego CA z ograniczeniami nazw może spowodować akceptację certyfikatów dla adresów e-mail, nazw DNS lub URI, które znajdują się w wykluczonych poddrzewach, poprzez nazwy kończące się kropką (np. rfc822Name, dNSName, uniformResourceIdentifier), ponieważ porównanie nie usuwa końcowej kropki (root-label) zgodnie z RFC 1034.
- CVE-2026-103601Wysokie
W bibliotece bc-csharp (Bouncy Castle dla .NET) przed wersją 2.7.0 występuje podatność w trybach AEAD CCM (CcmBlockCipher) i DSTU 7624 CCM (KCcmBlockCipher) polegająca na ujawnieniu niezweryfikowanego tekstu jawnego. Odszyfrowywanie zapisuje odzyskany tekst jawny do bufora wyjściowego dostarczonego przez wywołującego przed sprawdzeniem znacznika uwierzytelnienia i pozostawia go tam w przypadku niepowodzenia weryfikacji, co pozwala atakującemu na uzyskanie odszyfrowań wybranych szyfrogramów poprzez sfałszowane wiadomości.
- CVE-2026-103600Wysokie
W bibliotece bc-csharp (Bouncy Castle dla .NET) przed wersją 2.7.0 występuje niekontrolowana rekurencja w parserze ASN.1 (Asn1InputStream, Asn1StreamParser). Zdalny, nieuwierzytelniony atakujący może wywołać odmowę usługi poprzez spreparowane kodowanie ASN.1 z głęboko zagnieżdżonymi elementami konstruowanymi (np. SEQUENCE w SEQUENCE), ponieważ każdy poziom zagnieżdżenia jest parsowany przez kolejne wywołanie rekurencyjne bez ograniczenia głębokości. Około 2000 poziomów (8 KB DER) wystarcza do wyczerpania stosu wątku i wywołania StackOverflowException, którego .NET nie może przechwycić, co kończy się zakończeniem całego procesu.
Oryginalny opis (angielski, źródło NVD)
Memory allocation with excessive size value in the HSS/LMS signature code (HssPublicKeyParameters, HssSignature) in Legion of the Bouncy Castle Inc. bc-csharp before 2.7.0 allows a remote unauthenticated attacker who can supply both an HSS public key and a signature to cause a denial of service through memory exhaustion via a public key encoding with an excessive level count, because the level count L read when parsing an HSS public key was not checked against the RFC 8554 maximum of 8, and signature parsing then allocated an array of L - 1 entries before reading any further signature data. A single verification can commit up to about 17 GB of memory or fail with an OutOfMemoryException.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

