Aktualizace nginx 1.26.3 a 1.27.4 odstraňující zranitelnost související s TLS

Bylo vydáno hlavní vydání nginx 1.27.4, které pokračuje v rozvoji nových funkcí, stejně jako byl vydán paralelně udržovaný stabilní větev nginx 1.26.3, do které jsou prováděny pouze úpravy související s odstraněním závažných chyb a zranitelností. V aktualizacích byla odstraněna zranitelnost (CVE-2025-23419), která umožňuje obejít kontrolu klientských TLS certifikátů.

Zranitelnost je způsobena nedostatkem řádných kontrol při zpracování virtuálních hostitelů, které jsou přidruženy k jedné IP adrese a portu, a jsou vybírány při přístupu přes HTTPS na základě doménového názvu uvedeného pomocí rozšíření TLS SNI. V takových konfiguracích mohl útočník opět použít TLS relaci v kontextu jiného virtuálního hostitele k obcházení autentizace pomocí klientského TLS certifikátu. Problém se projevuje v konfiguracích, které podporují obnovu TLS relací pomocí „TLS session ticket“ nebo používají cache TLS relací v nastaveních serveru výchozího nastavení, kde se používá autentizace pomocí klientských TLS certifikátů. Zranitelnost je přítomna od vydání nginx 1.11.4 při kompilaci s OpenSSL a zapnutím protokolu TLSv1.3.

Změny nesouvisející se zabezpečením:

  • Byly přidány funkce ke snížení spotřeby zdrojů a zmenšení zátěže CPU při používání TLS v konfiguracích s velkým počtem bloků server a location. Přidané změny umožňují místo vytváření samostatného SSL kontextu (SSL_CTX v OpenSSL) pro každý konfigurační blok využít již existující SSL kontext z nadřazeného bloku.
  • Byly vyřešeny problémy s dlouhým načítáním konfiguračních souborů kvůli opakovanému parsování stejných sad TLS certifikátů, klíčů a seznamů certifikačních autorit. Zrychleno bylo i restartování konfigurace díky opětovnému použití nezměněných TLS objektů, jako jsou certifikáty, klíče a CRL. Pro deaktivaci dědění objektů při aktualizaci konfigurace byla přidána direktiva „ssl_object_cache_inheritable“.
  • Byl přidán cache pro certifikáty a klíče načítané pomocí proměnných v direktivách (např. „ssl_certificate \/etc\/ssl\/$ssl_server_name.crt“). Pro správu cache byly přidány direktivy „ssl_certificate_cache“, „proxy_ssl_certificate_cache“, „grpc_ssl_certificate_cache“ a „uwsgi_ssl_certificate_cache“. Pomocí těchto direktiv lze nastavit maximální velikost cache, čas platnosti záznamů a čas na vyčištění nepotřebných záznamů. Například: „ssl_certificate_cache max=1000 inactive=20s valid=1m;“.
  • Byla přidána direktiva „keepalive_min_timeout“, která určuje časový limit, během kterého nginx nebude uzavírat keep-alive spojení s klientem.
  • Byl vyřešen problém s výskytem zprávy v logu „gzip filter failed to use preallocated memory“ při sestavování s knihovnou zlib-ng.
  • Byl vyřešen problém se sestavováním knihovny libatomic při použití možnosti sestavování „—with-libatomic=DIR“
  • Byla odstraněna chyba, která bránila navázání spojení pomocí protokolu QUIC při použití 0-RTT.
  • Bylo zajištěno ignorování žádostí o vyjednávání verzí QUIC přicházejících od klientů.
  • Byly vyřešeny problémy se sestavováním v Solaris 10 s modulem ngx_http_v3_module.
  • Opraveny chyby v implementaci HTTP/3.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster