Kwetsbaarheid in PHP die potentieel elke PHP-website kan compromitteren

De PHP-ontwikkelaars hebben een aankondiging gedaan over de publicatie van urgente correctieversies vandaag om 17:00 (MSK) (8.5.12, 8.4.27, 8.3.36 en 8.2.35), waarin twee kritieke kwetsbaarheden worden verholpen. Alle serverbeheerders met PHP wordt sterk aangeraden om de patches onmiddellijk na hun uitgave op hun systemen te installeren. Officiƫle details worden pas na de publicatie van de patches onthuld, maar op basis van de beschikbare informatie gaat het om de kwetsbaarheden CVE-2026-109618 en CVE-2026-109619, die mogelijk op afstand de uitvoering van willekeurige code op elke webserver die PHP-scripts draait in de standaardconfiguratie mogelijk maken. De problemen doen zich voor in alle versies vanaf PHP 5.4.

In het netwerk zijn al prototypes van exploits (1, 2) verschenen om de systemen op kwetsbaarheid te testen. In de opmerking bij de exploit wordt gesteld dat de kwetsbaarheden worden veroorzaakt door toegang tot al vrijgegeven geheugen in de voortgangsmonitor voor bestandsoverdracht. server (session.upload_progress). Het is niet nodig dat de website functionaliteit heeft voor het uploaden van bestanden om de aanval uit te voeren; automatische activatie in de PHP-interpreter van de content handler ā€˜multipart/form-data’ is voldoende. Voor een succesvolle exploitatie is het vereist dat de lay-out van structuren in het geheugen van het proces wordt bepaald, die specifiek is voor elke build (dit probleem wordt opgelost door in de exploit offsets te enumereren die vooraf zijn berekend voor pakketten uit verschillende distributies).

Als een workaround voor bescherming zijn er aanbevelingen om de parameter ā€˜session.upload_progress.enabled = off’ in php.ini in te stellen (of ā€˜php_admin_flag[session.upload_progress.enabled] = off’ in PHP-FPM), maar een vertegenwoordiger van het PHP-project en ook de auteur van het eerste exploitprototype beweren dat dit niet voldoende is om beide kwetsbaarheden te blokkeren. In de opmerking bij het tweede exploitprototype wordt vermeld dat, naast de eerder genoemde instelling in php.ini, voor het voorkomen van de aanval zonder een patch een volledige blokkering van verzoeken met de contenttype ā€˜multipart/form-data’ vereist is, wat zal leiden tot de onmogelijkheid om bestanden via webformulieren te uploaden.

In Apache httpd kan om multipart-verzoeken te blokkeren de volgende regel in mod_rewrite worden gebruikt:

RewriteCond %{HTTP:Content-Type} multipart [NC]
RewriteRule ^ — [F,L]

Om in nginx te blokkeren:

if ($http_content_type ~* «multipart») {
return 403;
}

Om in Caddy te blokkeren:

@multipart header_regexp Content-Type (?i)multipart
respond @multipart 403

Aanvulling: Correctieversies van PHP 8.5.12, 8.4.27, 8.3.36 en 8.2.35 zijn gepubliceerd, evenals details over de verholpen kritieke kwetsbaarheden. De analyse van de kwetsbaarheden en de officieel aanbevolen werkarounds zijn in een apart nieuwsbericht gepubliceerd.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster