Kritiska säkerhetshål i PHP: uppdatera till senaste versionen nu

Två kritiska sårbarheter i PHP kan ge fjärrkörning av kod. Uppdatera till 8.5.12, 8.4.27, 8.3.36 eller 8.2.35 så snart som möjligt.

Den 21 oktober 2026 släppte PHP-projektet versionerna 8.5.12, 8.4.27, 8.3.36 och 8.2.35. Det är säkerhetsreleaser som åtgärdar två kritiska sårbarheter, CVE-2026-109618 och CVE-2026-109619, som enligt PHP-teamet kan ge oautentiserad fjärrkörning av kod (RCE). Båda har fått CVSS v4.0-poängen 9.2 och PHP-teamet uppmanar alla att uppdatera omedelbart.

Vad är sårbarheterna?

Båda sårbarheterna handlar om hur PHP hanterar minne under och mellan förfrågningar:

  • RCE via OOM corruption (CVE-2026-109618): När PHP får slut på minne (out of memory) kan hanteringen av en förfrågan avbrytas medan intern data bara delvis är initierad. När förfrågan sedan städas upp kan PHP behandla den ogiltiga datan som giltig. Enligt advisoryn kan en angripare bland annat nå minnesgränsen med specialutformade multipart-förfrågningar, till exempel med ett obegränsat antal headers i en del eller med tomma filfält och nästlade fältnamn.

  • RCE via stale global state (CVE-2026-109619): Globalt tillstånd som tillhör en förfrågan kan finnas kvar efter att minnet bakom det har frigjorts (use after free). En senare förfrågan som hanteras av samma worker kan då använda det gamla tillståndet innan normal initiering hunnit nollställa det. Bekräftade vägar går bland annat via session upload progress och, i PHP 8.5, inställningen fatal_error_backtraces.

Enligt advisorierna har fullständig fjärrkörning av kod verifierats mot Apache med mod_php, och för den andra sårbarheten även mot PHP-FPM. Koden körs då med samma rättigheter som webbserverns PHP-process.

Vem påverkas?

Enligt PHP-teamet gäller det alla PHP-installationer som hanterar webbförfrågningar, inklusive PHP-FPM, Apache med mod_php, php-cgi, FrankenPHP och LiteSpeed. Risken bedöms som störst för mod_php, där en oautentiserad förfrågan kan utlösa attacken innan någon applikationskod alls har körts.

Sårbara är alla versioner före 8.2.35, 8.3.36, 8.4.27 och 8.5.12. Det är alltså PHP-motorn som är sårbar, inte en viss applikation. Det spelar därför ingen roll om sajten bygger på Magento, Laravel, Statamic eller WordPress.

Vad ska du göra?

  • Uppdatera till PHP 8.5.12, 8.4.27, 8.3.36 eller 8.2.35 (eller senare). PHP-teamet skriver att uppdatering är det enda säkra alternativet. Källkod och Windows-binärer finns på php.net.

  • Kontrollera versionen med php -v på servern. Tänk på att kommandoraden och webbservern kan köra olika PHP-versioner, så kontrollera gärna även via phpinfo() eller hostingpanelen.

  • Hör av dig till din hostingleverantör om du kör delad eller hanterad hosting. Linuxdistributioner och LTS-leverantörer har fått patcharna i förväg, så uppdaterade paket kan redan finnas.

  • Starta om alla PHP-workers efter uppdateringen, till exempel PHP-FPM eller Apache.

  • Planera bort gamla versioner. PHP 8.1 och äldre får inga uppdateringar från PHP-projektet, även om vissa distributioner backporterar fixar. PHP 8.2 når end of life den 31 december 2026.

Om du inte kan uppdatera direkt listar PHP-teamet åtgärder som minskar exponeringen men inte gör installationen säker. Exempel är att sätta session.upload_progress.enabled=0 i php.ini eller serverkonfigurationen, att sätta fatal_error_backtraces=0 på PHP 8.5 och att hålla post_max_size lågt. Den 23 oktober kompletterade PHP-teamet med rådet att ha session.upload_progress.enabled=0 kvar fram till nästa ordinarie release, på grund av ytterligare en, mer osannolik, RCE-väg (CVE-2026-115560).

Så kan vi hjälpa till

Vi på Codepeak hjälper gärna till att se över vilken PHP-version era Magento-, Laravel- och Statamic-sajter kör, uppdatera servermiljön och testa att allt fungerar efter uppgraderingen. Kör ni fortfarande PHP 8.1 eller äldre är det här ett bra tillfälle att planera en uppgradering. Hör av er så tittar vi på det tillsammans.

Har du din butik eller applikation i vår hosting ser vi till att systemet hålls uppdaterat.

Källor

Av Robert

← Alla blogginlägg

Vad vill du få att fungera?

Berätta om projektet, problemet eller idén. Vi börjar där.

Ta kontakt