Pubblicato il rilascio del server http leggero lighttpd 1.4.76, progettato per combinare alta performance, sicurezza, conformità agli standard e flessibilità di configurazione. Lighttpd è adatto per applicazioni su sistemi ad alta richiesta e punta a un basso consumo di memoria e risorse CPU. Il codice del progetto è scritto in C ed è distribuito sotto licenza BSD.
Nella nuova versione:
- È stata implementata l'individuazione degli attacchi "Continuation flood", svolti tramite l'invio su server HTTP/2 di un flusso continuo di frame CONTINUATION senza impostare il flag END_HEADERS. Si sostiene che questo attacco non porti a un diniego di servizio per lighttpd, ma per precauzione è stata aggiunta la rilevazione e l'invio della risposta GO_AWAY.
- È stato preso in considerazione l'incidente di inserimento di un backdoor nel pacchetto xz. Nella creazione dei rilasci per la raccolta delle dipendenze, ora si utilizza il recupero del codice da Git con il comando "git archive" con verifica tramite tag di rilascio e senza scaricare archivi di codice preconfezionati.
- Per impostazione predefinita è fornito un file incorporato mimetype.assign.
- Aggiunta la supporto per l'estensione MPTCP (MultiPath TCP), che non è attivata per impostazione predefinita.
- Migliorato il supporto per le piattaforme GNU/Hurd e NetBSD 10.
- Ridotto il numero di chiamate di sistema effettuate durante le connessioni al backend.
- Nei prossimi rilascio si prevede di impostare TLSv1.3 come versione minima supportata di default per il protocollo TLS (attualmente il parametro MinProtocol è impostato su TLSv1.2). In futuro, il gestore server.error-handler-404 sarà limitato solo alla gestione degli errori 404 (attualmente gestisce sia 404 che 403).
Va inoltre segnalato il rilascio del server HTTP Apache 2.4.59, che presenta 21 modifiche e corregge tre vulnerabilità:
- CVE-2024-27316 — vulnerabilità che porta all'esaurimento della memoria libera durante un attacco "Continuation flood".
- CVE-2024-24795, CVE-2023-38709 — possibilità di eseguire attacchi di framing delle risposte HTTP su sistemi frontend-backend, consentendo l'inserimento di intestazioni di risposta aggiuntive o la frammentazione delle risposte per infiltrarsi nel contenuto delle risposte di altri utenti, gestite nello stesso flusso tra frontend e backend.
- Nel modulo mod_cgi è stato aggiunto il parametro CGIScriptTimeout per impostare un timeout per l'esecuzione dello script.
- Nel mod_xml2enc è stata garantita la compatibilità con libxml2 2.12.0 e versioni successive.
- In mod_ssl, per la composizione delle liste dei nomi delle autorità di certificazione durante l'elaborazione delle direttive SSLCACertificatePath e SSLCADNRequestPath sono state utilizzate le funzioni standard di OpenSSL.
- In mod_xml2enc è garantita la gestione di XML per tutti i tipi MIME text/* e XML per escludere la corruzione dei dati nei formati Microsoft OOXML.
- Nell'utilità htcacheclean è stata implementata l'iterazione di tutti i file per ciascuna sottodirectory quando vengono specificate le opzioni -a/-A.
- In mod_ssl, nelle direttive SSLProxyMachineCertificateFile/Path è consentito fare riferimento a file che contengono certificati delle autorità di certificazione.
- Nella documentazione delle utility htpasswd, htdbm e dbmmanage è stato precisato che utilizzano l'hashing e non la crittografia delle password.
- In htpasswd è stata aggiunta la supporto per la gestione degli hash delle password utilizzando l'algoritmo SHA-2.
- In mod_env è consentita la ridefinizione delle variabili di ambiente di sistema.
- In mod_ldap è stata implementata la codifica HTML dei dati nell'intestazione ldap-status.
- In mod_ssl è stata migliorata la compatibilità con OpenSSL 3 e garantito il ritorno della memoria liberata al sistema.
- In mod_proxy è consentita la configurazione della TTL per impostare il tempo di vita delle voci nella cache delle risposte DNS.
- In mod_proxy è stata aggiunta la supporto per il terzo argomento nel parametro ProxyRemote, attraverso il quale è possibile configurare le credenziali di autenticazione di Base da trasmettere al proxy esterno.
Fonte: opennet.ru
