Dezvoltatorii PHP au anunțat publicarea, astăzi la ora 17:00 (MSK), a unor versiuni corective de urgență (8.5.12, 8.4.27, 8.3.36 și 8.2.35), în care vor fi remediate două vulnerabilități critice. Toți administratorii de servere care folosesc PHP sunt sfătuiți să instaleze imediat aceste corecții pe sistemele lor, imediat după lansare. Detaliile oficiale vor fi dezvăluite doar după apariția corecțiilor, dar judecând după informațiile disponibile, este vorba despre vulnerabilitățile CVE-2026-109618 și CVE-2026-109619, care permit potențial executarea de cod de la distanță pe orice server web care rulează scripturi PHP în configurația implicită. Problemele apar în toate versiunile, începând cu PHP 5.4.
În rețea au apărut deja prototipuri de exploatări (1, 2) pentru a verifica expunerea sistemelor la vulnerabilitate. În notele anexate exploatării se afirmă că vulnerabilitățile sunt cauzate de accesarea memoriei deja eliberate în handlerul de urmărire a progresului încărcării fișierelor în serverul (session.upload_progress). Funcționalitatea pentru încărcarea fișierelor pe site nu este necesară pentru a efectua atacul, este suficient ca handlerul de conținut „multipart/form-data” să fie activat în interpretul PHP. Pentru a exploata cu succes, este necesară determinarea layout-ului structurilor în memoria procesului, care este specific fiecărei versiuni (problemă rezolvată prin iterarea în exploatare a deplasărilor, precalculată anterior pentru pachete din diferite distribuții).
Ca o soluție temporară de protecție, sunt recomandate următoarele setări în php.ini: „session.upload_progress.enabled = off” (sau „php_admin_flag[session.upload_progress.enabled] = off” în PHP-FPM), dar un reprezentant al proiectului PHP, precum și autorul primului prototip de exploatare, afirmă că acesta nu este suficient pentru a bloca ambele vulnerabilități. În notele despre al doilea prototip de exploatare se menționează că, pe lângă setarea menționată anterior în php.ini, pentru a preveni atacul fără utilizarea unui patch, este necesară blocarea completă a cererilor cu tipul de conținut „multipart/form-data”, ceea ce va conduce la imposibilitatea încărcării fișierelor prin formulare web.
În Apache httpd, pentru a bloca cererile multipart, se poate folosi următoarea regulă în mod_rewrite:
RewriteCond %{HTTP:Content-Type} multipart [NC]
RewriteRule ^ - [F,L]
Pentru a bloca în nginx:
if ($http_content_type ~* "multipart") {
return 403;
}
Pentru a bloca în Caddy:
@multipart header_regexp Content-Type (?i)multipart
respond @multipart 403
Actualizare: Au fost publicate actualizările corective PHP 8.5.12, 8.4.27, 8.3.36 și 8.2.35, precum și detalii despre vulnerabilitățile critice corectate. Analiza vulnerabilităților și metodele oficial recomandate de protecție sunt publicate într-o știre separată.
Sursa: opennet.ro
