Opublikowano wydanie lekkiego serwera http lighttpd 1.4.76, skoncentrowanego na wysokiej wydajności, bezpieczeństwie, zgodności ze standardami i elastyczności konfiguracji. Lighttpd nadaje się do zastosowań w systemach o dużym obciążeniu i jest ukierunkowany na niskie zużycie pamięci oraz zasobów CPU. Kod projektu napisany jest w języku C i jest rozpowszechniany na licencji BSD.
W nowej wersji:
- Zapewniono wykrywanie ataku „Continuation flood”, który jest przeprowadzany za pomocą wysyłania na serwer HTTP/2 nieprzerwanego strumienia ramek CONTINUATION bez ustawiania flagi END_HEADERS. Twierdzi się, że ten atak nie prowadzi do awarii serwera lighttpd, jednak jako dodatkowa miara dodano jego wykrywanie i wysłanie odpowiedzi GO_AWAY.
- Uwzględniono incydent z wprowadzeniem backdoora do pakietu xz. Przy tworzeniu wydań do kompilacji zależności teraz używa się pobierania kodu z Git komendą „git archive” z weryfikacją według tagów wydania i bez pobierania gotowych archiwów z kodem.
- Domyślnie dostarczony jest wbudowany plik mimetype.assign.
- Dodano wsparcie dla rozszerzenia MPTCP (MultiPath TCP), które nie jest domyślnie aktywowane.
- Udoskonalono wsparcie dla platform GNU/Hurd i NetBSD 10.
- Zmniejszona liczba wywołań systemowych podczas nawiązywania połączeń z backendem.
- W kolejnych wydaniach planowane jest ustawienie TLSv1.3 jako minimalnie obsługiwanej domyślnie wersji protokołu TLS (aktualnie parametr MinProtocol ma wartość TLSv1.2). W przyszłości obsługiwacz server.error-handler-404 będzie ograniczony tylko do przetwarzania błędów 404 (obecnie obsługuje zarówno 404, jak i 403).
Można również zauważyć wydanie serwera HTTP Apache 2.4.59, w którym przedstawiono 21 zmian i usunięto trzy luki w zabezpieczeniach:
- CVE-2024-27316 — luka, która prowadzi do wyczerpania dostępnej pamięci podczas przeprowadzania ataku „Continuation flood”.
- CVE-2024-24795, CVE-2023-38709 — możliwość przeprowadzenia ataku polegającego na podziale odpowiedzi HTTP w systemach front-end-backend, pozwalająca na wstrzykiwanie dodatkowych nagłówków odpowiedzi lub dzielenie odpowiedzi, aby wślizgnąć się do zawartości odpowiedzi innych użytkowników, które są przetwarzane w tym samym wątku między front-endem a backendem.
- Do modułu mod_cgi dodano parametr CGIScriptTimeout do ustawienia limitu czasu wykonania skryptu.
- W mod_xml2enc zapewniono zgodność z libxml2 2.12.0 i nowszymi wydaniami.
- W mod_ssl do kompozycji list nazw urzędów certyfikacji podczas przetwarzania dyrektyw SSLCACertificatePath oraz SSLCADNRequestPath wykorzystano standardowe funkcje OpenSSL.
- W mod_xml2enc zapewniono obsługę XML dla różnych typów MIME text/* oraz XML w celu wykluczenia uszkodzenia danych w formatach Microsoft OOXML.
- W narzędziu htcacheclean przy wskazaniu opcji -a/-A wprowadzono przeszukiwanie wszystkich plików w każdej podkatalogu.
- W mod_ssl w dyrektywach SSLProxyMachineCertificateFile/Path zezwolono na odwoływanie się do plików zawierających certyfikaty urzędów certyfikacji.
- W dokumentacji do narzędzi htpasswd, htdbm oraz dbmmanage doprecyzowano, że używane jest hashowanie, a nie szyfrowanie haseł.
- W htpasswd dodano obsługę przetwarzania hashy haseł z użyciem algorytmu SHA-2.
- W mod_env zezwolono na nadpisywanie systemowych zmiennych środowiskowych.
- W mod_ldap wprowadzono eskapowanie danych HTML w nagłówku ldap-status.
- W mod_ssl poprawiono kompatybilność z OpenSSL 3 i zapewniono uwolnienie pamięci dla systemu.
- W mod_proxy pozwolono na ustawienie TTL dla konfiguracji czasu życia wpisu w cache odpowiedzi DNS.
- W mod_proxy do parametru ProxyRemote dodano wsparcie dla trzeciego argumentu, umożliwiającego konfigurację przekazywanych na zewnętrzny proxy danych do uwierzytelnienia Basic.
Źródło: opennet.ru
