PHP2Shell: to kritiske hull i PHP gir kodekjøring uten innlogging på 8.2 til 8.5
onsdag 21. oktober · KI-generert · Kilde: OpenAI
Oppdater PHP til 8.5.12, 8.4.27, 8.3.36 eller 8.2.35 og restart alle workere, fordi to kritiske hull gir kodekjøring uten innlogging.
PHP-prosjektet slapp 21. oktober sikkerhetsoppdateringer for alle fire støttede grener. De tetter to minnesikkerhetsfeil i selve PHP-kjernen, samlet under navnet PHP2Shell og sporet som CVE-2026-109618 og CVE-2026-109619, begge med CVSS-score 9.2. Forskerne demonstrerte kodekjøring uten innlogging mot WordPress, Drupal og Joomla, men den sårbare koden ligger i PHP selv. Ifølge php2shell.com kan selv en enkel «Hello World»-app på en sårbar versjon rammes.
Calif fant en av feilene med GPT-5.6 Sol gjennom OpenAIs initiativ Patch the Planet, og Wiz fant og meldte begge sårbarhetene uavhengig. OpenAI skriver at koalisjonen jobbet i to måneder med PHP-vedlikeholderne, Cloudflare og amerikanske myndigheter, blant dem CISA, for å ha beskyttelse klar før offentliggjøringen.
«Gitt hvor alvorlige feilene er og hvor utbredt PHP er, regner vi dette som et av sikkerhetsproblemene med størst konsekvenser i nyere tid» — OpenAI, i kunngjøringen av responsen
Den første feilen utløses når PHP går tom for minne midt i en forespørsel, mens interne data bare er delvis initialisert. Oppryddingen behandler da ugyldige data som gyldige. Den andre er en use-after-free: tilstand fra én forespørsel overlever etter at minnet er frigjort, og neste forespørsel på samme worker kan bruke den. Det gir både kodekjøring og lekkasje av minne fra andre forespørsler, med passord, API-nøkler og tokens.
PHP-teamet lister PHP-FPM, Apache med mod_php, php-cgi, FrankenPHP og LiteSpeed som utsatt, og vurderer risikoen som størst for mod_php, der et demonstrert angrep slår til før noe applikasjonskode kjører. Feilene går tilbake til PHP 5.4. PHP 8.1 og eldre får ikke oppdateringer, men sikkerhetsteamet har lagt ut minimale kilde-backports for 7.4, 8.0 og 8.1.
For deg som selvhoster er listen over vanlig PHP-programvare på php2shell.com ubehagelig lesning: Nextcloud, Moodle, MediaWiki, Laravel og Symfony står der sammen med WordPress. Å oppdatere selve appen hjelper ikke, fordi PHP-runtimen under den er det som må byttes.
Hva bør du gjøre?
- Kjør
php -vi hver container og på hver server, også i Docker-images for Nextcloud og WordPress, og oppgrader alt under 8.2.35, 8.3.36, 8.4.27 eller 8.5.12. Restart deretter Apache, PHP-FPM og langtlevende workere. - Bruk OpenAIs sjekker
php2shell-checker(Apache 2.0) mednode phpcheck.js --localeller mot en URL. Den leser bareX-Powered-By,Serverogphp -v, og distro-backports endrer ikke alltid versjonsnummeret, såUNKNOWNbetyr ikke at du er patchet. - Må du vente med oppgraderingen, sett
session.upload_progress.enabled=0ogmemory_limit=-1viaphp_admin_value, og senkpost_max_sizetil 8M der appen ikke tar imot opplastinger. PHP-teamet understreker at tiltakene ikke gjør installasjonen trygg.
OpenAI skriver at PHP2Shell bare er ett av flere alvorlige funn selskapet jobber med å få rettet, og venter at lignende funn vil øke kraftig de kommende månedene.