Noua versiune nginx 1.27.0 cu remedierea a 4 vulnerabilități în implementarea HTTP/3.

A fost lansată prima versiune a noului ramură principală nginx 1.27.0, în cadrul căreia va continua dezvoltarea de noi funcționalități. În același timp, a fost creată versiunea nginx 1.26.1, care aparține ramurii stabile suportate în paralel, în care sunt incluse doar modificări legate de corectarea erorilor grave și a vulnerabilităților. Anul viitor, pe baza ramurii principale 1.27.x, va fi creată o ramură stabilă 1.28. Codul proiectului este scris în limbajul C și este distribuit sub licența BSD.

În noile versiuni au fost remediate 4 vulnerabilități care afectează modul experimental ngx_http_v3 (dezactivat din start), care oferă suport pentru protocolul HTTP/3, utilizând protocolul QUIC ca transport pentru HTTP/2. Problemele apar doar atunci când se activează modul ngx_http_v3_module și se setează opțiunea „quic” în directiva „listen”. Nu sunt disponibile informații despre susceptibilitatea fork-urilor Angie și FreeNginx.

Vulnerabilitatea CVE-2024-34161 duce la scurgeri de conținut din memoria procesului de lucru pe sistemele cu MTU setat la o valoare mai mare de 4096 octeți. Scurgerea de conținut din memorie apare în cazul trimiterii cadrelor CRYPTO, utilizate în negocierea conexiunii, în etapa după ce clientul a trimis mesajul final.

Vulnerabilitățile CVE-2024-31079, CVE-2024-32760 și CVE-2024-35200 sunt cauzate de coruperea memoriei și permit unui atacator de la distanță să forțeze închiderea procesului de lucru nginx prin stabilirea unei sesiuni special concepute bazate pe protocolul QUIC. De asemenea, pentru vulnerabilitățile CVE-2024-31079 și CVE-2024-32760 nu sunt excluse și alte consecințe ale atacului (posibilitatea de executare a codului atacatorului?). Detalii nu sunt furnizate, dar conform corecturilor din cod, vulnerabilitățile sunt cauzate de apeluri la memorie care a fost deja eliberată (use-after-free), alocare greșită de memorie pentru un array, dereferirea unui pointer nul și lipsă de verificare corespunzătoare a dimensiunii datelor plasate în buffer.

Printre modificările nespecificate la remedierea vulnerabilităților în nginx 1.27.0:

  • În directivele „proxy_limit_rate”, „fastcgi_limit_rate”, „scgi_limit_rate” și „uwsgi_limit_rate” a fost adăugată suportul pentru specificarea variabilelor.
  • Consumul de memorie a fost redus în timpul procesării cererilor pe termen lung în configurațiile care utilizează directivele „gzip”, „gunzip”, „ssi”, „sub_filter” sau „grpc_pass”.
  • Problemele legate de compunerea în GCC 14 utilizând opțiunea „—with-atomic” au fost rezolvate.
  • Au fost corectate erorile în implementarea HTTP/3.

De asemenea, merită menționată publicarea noului ramur principal FreeNginx 1.27.0, un fork al Nginx, dezvoltat de Maxim Dunin, unul dintre dezvoltatorii cheie ai Nginx. FreeNginx este poziționat ca un proiect non-profit, care asigură dezvoltarea bazei de cod Nginx fără intervenție corporativă. În această versiune, a fost îmbunătățită gestionarea erorilor în timpul citirii corpului cererii, a fost realizată compilarea în NetBSD 10.0 și a fost îmbunătățită înregistrarea fișierelor PID (în directiva „pid” a fost adăugat parametrul „off”).

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster