Aktualizacja Nginx 1.22.1 i 1.23.2 z naprawionymi lukami

Została wydana główna gałąź nginx 1.23.2, w ramach której kontynuowany jest rozwój nowych funkcji, a także wydanie równoległej obsługiwanej stabilnej gałęzi nginx 1.22.1, która zawiera jedynie zmiany związane z eliminacją poważnych błędów i luki w zabezpieczeniach.

Nowe wersje eliminują dwie luki (CVE-2022-41741, CVE-2022-41742) w module ngx_http_mp4_module, służącym do organizowania przesyłania strumieniowego z plików w formacie H.264/AAC. Luki te mogą prowadzić do uszkodzenia lub wycieku pamięci podczas przetwarzania specjalnie spreparowanego pliku mp4. W konsekwencji mówi się o awaryjnym zakończeniu procesu pracy, ale nie wyklucza się innych przejawów, takich jak organizacja wykonywania kodu na serwerze.

Warto zauważyć, że podobna luka została naprawiona już w module ngx_http_mp4_module w 2012 roku. Ponadto F5 zgłosiło podobną lukę (CVE-2022-41743) w produkcie NGINX Plus, wpływającą na moduł ngx_http_hls_module, który zapewnia obsługę protokołu HLS (Apple HTTP Live Streaming).

Oprócz wyeliminowania luk w nginx 1.23.2 zaproponowano następujące zmiany:

  • Dodano obsługę zmiennych „$proxy_protocol_tlv_*”, które zawierają wartości pól TLV (Type-Length-Value) występujących w protokole Type-Length-Value PROXY v2.
  • Zapewniono automatyczną rotację kluczy szyfrujących dla biletów sesji TLS, używanych podczas korzystania z pamięci współdzielonej w dyrektywie ssl_session_cache.
  • Poziom rejestrowania błędów związanych z nieprawidłowymi typami rekordów SSL został obniżony z poziomu krytycznego do poziomu informacyjnego.
  • Poziom rejestrowania komunikatów o braku możliwości przydzielenia pamięci dla nowej sesji został zmieniony z alertu na ostrzeżenie i jest ograniczony do generowania jednego wpisu na sekundę.
  • Na platformie Windows został ustalony montaż z OpenSSL 3.0.
  • Poprawione odzwierciedlenie błędów protokołu PROXY w logu.
  • Naprawiono problem polegający na tym, że limit czasu określony w dyrektywie „ssl_session_timeout” nie działał podczas korzystania z protokołu TLSv1.3 opartego na OpenSSL lub BoringSSL.

Źródło: opennet.ru

Dodaj komentarz