CVE-2026-77207
WysokieCVSS 7.5Streszczenie
Libreswan ma błąd dereferencji wskaźnika null w kodzie obsługi PKCS#7 dla uwierzytelniania certyfikatów IKE. Gdy libreswan dekoduje ładunek IKE CERT typu CERT_PKCS7_WRAPPED_X509, chroni blob PKCS#7 za pomocą SEC_PKCS7ContainsCertsOrCrls(), a następnie iteruje listę certyfikatów za pomocą SEC_PKCS7GetCertificateList(). Te dwa API NSS różnią się w przypadku SignedData zawierającego CRL, ale bez certyfikatów: ContainsCertsOrCrls() zwraca PR_TRUE (jest CRL), więc ochrona przechodzi, ale GetCertificateList() zwraca NULL (brak certyfikatów). Powoduje to dereferencję wskaźnika null prowadzącą do awarii i restartu. Złośliwy pakiet IKE_AUTH może wywołać ten błąd, co oznacza, że peer nie musi być uwierzytelniony. Zdalne wykonanie kodu nie jest możliwe. Ciągłe wykorzystanie może powodować odmowę usługi.
Ocena ryzyka
Atakujący może wywołać awarię i restart demona pluto, powodując odmowę usługi. Ryzyko nie obejmuje zdalnego wykonania kodu, ale ciągłe wykorzystanie może prowadzić do niedostępności usługi.
Rekomendacja
Zaktualizować Libreswan do wersji zawierającej poprawkę błędu dereferencji wskaźnika null w obsłudze PKCS#7.
Inne podatności w Libreswan
Zobacz wszystkie- CVE-2026-94453Wysokie
Demon pluto w Libreswan ma podatność use-after-free, gdy klient łączący się przez IKE over TCP zamyka połączenie, a następnie odbierany jest kolejny pakiet (retransmisja lub złośliwy) dla tej samej krotki. Stan IKE jest przechowywany w pamięci po zamknięciu połączenia przez klienta, przechowując wskaźnik do iface_endpoint w ike_sa.sa->st_iface_endpoint. Użycie tego nieprawidłowego wskaźnika powoduje awarię i restart demona. Podatność może być wywołana przed uwierzytelnieniem zdalnego peera, a ciągłe wykorzystanie może prowadzić do odmowy usługi; możliwe jest również zdalne wykonanie kodu. Opcja IKE over TCP nie jest domyślnie włączona; dotyczy tylko konfiguracji zawierających listen-tcp=yes.
- CVE-2026-77206Wysokie
Maszyna stanów IKEv2 w Libreswan ma błąd dereferencji wskaźnika null w kodzie obsługi EAP dla uwierzytelniania. Z powodu niespójności w kodzie maszyny stanów IKEv2 błąd może być wywołany przez dowolne połączenie IKEv2, nawet jeśli EAP nie jest w ogóle skonfigurowany. Błąd jest spowodowany fall-through, w którym niepoprawnie dereferencjonowane jest ike->sa.st_eap, które jest NULL. Złośliwy pakiet IKE_AUTH może wywołać ten błąd, co oznacza, że peer nie musi być uwierzytelniony. Błąd powoduje awarię i restart demona pluto. Zdalne wykonanie kodu nie jest możliwe. Ciągłe wykorzystanie może powodować odmowę usługi.
- CVE-2016-5391Wysokie
Libreswan w wersjach przed 3.18 pozwala zdalnym atakującym na spowodowanie odmowy usługi poprzez dereferencję wskaźnika NULL, co prowadzi do restartu demona pluto.
- CVE-2016-5361Wysokie
W programie libreswan przed wersją 3.17 występuje problem z retransmisją w stanach początkowych odpowiedzi, co pozwala zdalnym atakującym na wywołanie odmowy usługi (amplifikacja ruchu) za pomocą sfałszowanego pakietu UDP.
- CVE-2016-3071Wysokie
Libreswan w wersji 3.16 może umożliwić zdalnym atakującym spowodowanie odmowy usługi (ponowne uruchomienie demona) poprzez transformację IKEv2 aes_xcbc.
- CVE-2026-14957Wysokie
W trybie FIPS funkcja add_decoded_cert() w Libreswan wywołuje CERT_ExtractPublicKey() i zakłada, że wynik nie jest NULL. Jednak CERT_ExtractPublicKey() zwraca NULL, gdy ekstrakcja klucza publicznego nie powiedzie się, na przykład gdy wykładnik RSA jest ustawiony na 0. Zdalny atakujący może wysłać złośliwy certyfikat X.509 w ładunku CERT, aby wywołać asercję, powodując przerwanie i ponowne uruchomienie demona pluto. Ciągłe wykorzystywanie powoduje denial of service. Brak możliwości zdalnego wykonania kodu. Podatne są zarówno IKEv1, jak i IKEv2. Podatność jest wykorzystywalna tylko wtedy, gdy zarówno system operacyjny, jak i libreswan działają w trybie FIPS i załadowany jest co najmniej jeden certyfikat CA. Ładunek CERT jest przetwarzany przed uwierzytelnieniem peer, więc do wykorzystania nie są potrzebne żadne poświadczenia. Konfiguracje używające tylko uwierzytelniania PSK bez załadowanych certyfikatów CA w bazie NSS nie są podatne.
- CVE-2026-50722Wysokie
W bibliotece Libreswan w funkcji RSA_authenticate_hash_signature_pkcs1_1_5_rsa() stwierdzono nieprawidłowe sprawdzanie kodowania DER skrótu ASN.1 w ładunku uwierzytelniającym IKEv2 przy użyciu RSASSA-PKCS1-v1_5. Zdalny atakujący może wykorzystać wariant ataku Bleichenbachera do sfałszowania ładunku AUTH, co prowadzi do podszycia się, a także wywołać asercję powodującą odmowę usługi.
- CVE-2026-50721Wysokie
W bibliotece Libreswan stwierdzono podatność w funkcji RSA_authenticate_hash_signature_raw_rsa(), która nieprawidłowo weryfikuje długość hasha uwierzytelniającego w pakietach IKEv1 z kodowaniem PKCS #1 RSA. Zdalny atakujący może wykorzystać wariant ataku Bleichenbachera do sfałszowania ładunku SIG, co prowadzi do podszycia się, a także wywołać odmowę usługi przez wysłanie zbyt krótkiego hasha.
- CVE-2026-12413Wysokie
Nieprawidłowo sformatowany fragment IKEv2 powoduje awarię i restart demona pluto w Libreswan. Błąd off-by-one w asercji PASSERT prowadzi do przerwania działania demona.
- CVE-2023-38711Średnie
W Libreswan przed wersją 4.12 odkryto problem, który występuje, gdy połączenie IKEv1 Quick Mode skonfigurowane z ID_IPV4_ADDR lub ID_IPV6_ADDR otrzymuje ładunek IDcr z ID_FQDN. Powoduje to dereferencję wskaźnika NULL, co skutkuje awarią i ponownym uruchomieniem demona pluto.
Oryginalny opis (angielski, źródło NVD)
Libreswan has a null pointer dereference bug in the PKCS#7 handling code for IKE certificate authentication. When libreswan decodes an IKE CERT payload of type CERT_PKCS7_WRAPPED_X509, it guards the PKCS#7 blob with SEC_PKCS7ContainsCertsOrCrls() and then iterates the certificate list with SEC_PKCS7GetCertificateList(). The two NSS APIs disagree on a SignedData that carries a CRL but no certificates: ContainsCertsOrCrls() returns PR_TRUE (there is a CRL), so the guard passes, but GetCertificateList() returns NULL (there are no certificates). This causes libreswan to dereference a null pointer leading to a crash and restart. A malicious IKE_AUTH packet can trigger this bug, meaning the peer does not need to be authenticated. No remote code execution is possible. Continued exploitation can cause a denial of service.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

