CVE-2026-55960
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 4 - wyżej niż 4% wszystkich znanych CVE
Streszczenie
Podatność umożliwia akceptację nieuzgodnionego surowego klucza publicznego (Raw Public Key, RFC 7250) zamiast certyfikatu X.509, co prowadzi do pominięcia walidacji łańcucha zaufania. Sytuacja dotyczy tylko kompilacji z włączoną obsługą RPK (HAVE_RPK), która domyślnie jest wyłączona, ale włączana przez flagę --enable-all.
Ocena ryzyka
Ryzyko polega na możliwości podszycia się pod serwer lub klienta bez prawidłowego uwierzytelnienia, co może prowadzić do ataków typu man-in-the-middle i naruszenia poufności komunikacji.
Rekomendacja
Zaleca się aktualizację do wersji zawierającej poprawkę, która wymusza domyślne oczekiwanie typu X.509 w przypadku braku negocjacji RPK. W międzyczasie można wyłączyć obsługę RPK (HAVE_RPK) w konfiguracji kompilacji.
Oryginalny opis (angielski, źródło NVD)
Un-negotiated Raw Public Key (RFC 7250) accepted in place of an X.509 certificate, bypassing chain validation. A raw public key has no chain, so ParseCertRelative() accepts it without performing any trust verification; it must therefore only be accepted when RPK was actually negotiated for that peer. The check now defaults the expected type to X.509 (per RFC 7250/8446) when no type was negotiated, comparing against the received server certificate type on the client and the selected client certificate type on the server, and rejects any mismatch, including an un-negotiated raw public key, with UNSUPPORTED_CERTIFICATE. Only affects builds with Raw Public Key support (HAVE_RPK) enabled - disabled by default in a standalone build, but included in --enable-all.

