Sikkerhet · PHP
PHP2Shell (CVE-2026-109618 og CVE-2026-109619): kritisk PHP-sårbarhet og hva WordPress-eiere må vite
I oktober 2026 ble det offentliggjort to kritiske PHP-sårbarheter, kjent under samlenavnet PHP2Shell. Begge gjør det mulig å kjøre kode eksternt uten innlogging, og siden PHP driver en enorm del av nettet, berører de også WordPress, Drupal og utallige andre nettsteder. I denne artikkelen går vi gjennom hva det handler om, hva du må gjøre nå, og hvorfor en statisk side unngår hele problemet.
Aktuelt: Sårbarhetene utnyttes allerede aktivt på nett. Hvis du drifter et PHP-basert nettsted, oppdater PHP til en patchet versjon uten opphold. Veiledningen finner du nedenfor.
PHP2Shell betegner to sårbarheter i kjernen av PHP, CVE-2026-109618 og CVE-2026-109619. Begge tillater ekstern kodekjøring uten innlogging og er klassifisert som kritiske (CVSS 9.2). Et vellykket angrep kan føre til full overtakelse av serveren og lekkasje av passord og nøkler som ligger i minnet.
Siden hullene er i kjernen av PHP, berører de alle nettsteder som kjører på en sårbar PHP-versjon: WordPress, Drupal, Laravel og skreddersydde applikasjoner, uavhengig av tillegg. Det viktigste tiltaket er å oppdatere PHP til en patchet versjon (8.5.12, 8.4.27, 8.3.36 eller 8.2.35) og starte serveren på nytt.
På en statisk side kjøres PHP-tolkeren ikke i det hele tatt, så en sårbarhet som bygger på ekstern kodekjøring i PHP berører den ikke. Novavalo lager nettopp slike statiske sider, så nettsteder bygget med Novavalo er ikke utsatt for denne PHP-sårbarheten.
Hva er PHP2Shell (CVE-2026-109618 og CVE-2026-109619)?
PHP2Shell er et samlenavn for to sårbarheter i kjernen av PHP, offentliggjort i oktober 2026. Begge gjør det mulig med ekstern kodekjøring (RCE) uten innlogging og er vurdert som kritiske i alvorlighetsgrad (CVSS 9.2). I praksis kan en angriper kjøre sin egen kode på serveren, noe som kan føre til full overtakelse av hele systemet.
Hullenes eksistens ble kjent før den planlagte tidsplanen, da informasjon lekket ut på nett. PHP-utviklerne reagerte raskt og ga ut en nødoppdatering 21. oktober 2026. Sårbarhetene ble funnet av sikkerhetsselskapet Wiz. Dessverre betydde lekkasjen også at angriperne fikk et hint tidlig: aktiv utnyttelse av hullene er observert på nett helt fra offentliggjøringsdagen, og fungerende angrepseksempler er offentlig tilgjengelige.
Navnet PHP2Shell beskriver resultatet treffende. Angriperens mål er å komme seg fra PHP til serverens kommandoskall, altså et shell, hvorfra vedkommende i praksis kan gjøre hva som helst på nettstedet og serveren: installere skadevare, stjele data eller bruke serveren som springbrett til neste angrep.
Hvorfor dukket sårbarheten opp først nå?
Koden som ligger bak feilene hadde vært i PHP lenge. Det nye er ikke selve feilen, men at forskere i 2026 ved hjelp av kunstig intelligens viste hvordan feilene kan utnyttes i praksis. En gammel feil, som hadde ligget i dvale i årevis, ble til et reelt angrep.
Det var tegn til det andre problemet allerede i 2024, men den gang ble ingen fungerende angrepsmåte funnet, og rettingen ble forsinket. Slikt skjer ofte i programvare: en mistanke om en mulig feil betyr ennå ikke at noen kan utnytte den. Nettopp derfor blir noen sårbarheter stående urettet i årevis, helt til noen finner ut hvordan de kan utløses.
I dette tilfellet ble det avgjørende steget tatt ved hjelp av kunstig intelligens. Forskerne brukte kunstig intelligens til å kartlegge en kompleks angrepskjede som ville ha krevd betydelig mer tid for et menneske. Funnet kom fra forskernes eget forskningsarbeid, ikke fra etterforskningen av et oppdaget datainnbrudd, noe som er gode nyheter: rettingen rakk å bli ferdig før utbredt misbruk. Samtidig er saken likevel en påminnelse om at kunstig intelligens senker terskelen for å bygge komplekse angrep. Gamle feil, som lenge ble ansett som ufarlige, kan bli utnyttbare, og det er én grunn til at det å redusere angrepsflaten er viktigere enn noen gang nå.
Hvorfor berører dette nettopp WordPress og andre PHP-nettsteder?
WordPress er bygget på PHP, og disse sårbarhetene er i kjernen av PHP, ikke i enkelttillegg. Derfor berører de hvert eneste WordPress-nettsted som kjører på en sårbar PHP-versjon, uansett hvilke tillegg eller temaer som er installert.
Dette gjør situasjonen uvanlig. Vanligvis kommer WordPress-innbrudd fra tillegg, temaer og svake brukernavn og passord, slik vi skrev tidligere i artikkelen WordPress-innbrudd fortsetter. Her sitter hullet dypere: det er i selve PHP, som WordPress kjøres med. Forskere har vist at sårbarheten kan utnyttes selv mot de nyeste WordPress-installasjonene uten innlogging.
PHP driver en enorm del av nettet, så nedslagsfeltet er stort. I tillegg til WordPress er for eksempel Drupal, Laravel og mange skreddersydde PHP-applikasjoner utsatt. Risikoen er spesielt stor når PHP kjøres med Apaches mod_php-modul, der en forespørsel uten innlogging kan utløse angrepet før noen av applikasjonens egne beskyttelser rekker å reagere. Også PHP-FPM, php-cgi og andre kjøremåter er utsatt.
Hva betyr sårbarhetene teknisk sett?
Begge hullene handler om hvordan PHP håndterer minne mellom forespørsler. Detaljene er tekniske, men kjernetanken kan oppsummeres tydelig.
| Sårbarhet | Type | Hva det handler om |
|---|---|---|
| CVE-2026-109618 | Minnekorrupsjon når minnet tar slutt | Hvis serverens minne tar slutt midtveis, mens PHPs forespørselsdata bare er delvis initialisert, kan den påfølgende oppryddingen behandle ufullstendige data som gyldige. Dette kan brukes til kodekjøring. |
| CVE-2026-109619 | Bruk av frigjort minne (use-after-free) | Tilstand som er igjen etter én forespørsel kan peke til minne som allerede er frigjort. En forespørsel som behandles senere i samme arbeidsprosess kan utnytte denne utdaterte tilstanden. |
I tillegg til å kjøre kode kan hullene lekke informasjon. Ved hjelp av dem er det mulig å lese minnet til PHP-arbeidsprosessen, som kan inneholde passord, øktidentifikatorer og API-nøkler. På et WordPress-nettsted kan dette for eksempel bety at databasepåloggingen eller nøkler til tredjepartstjenester avsløres. Nettopp derfor er det ikke alltid nok å bare patche, og etter patching bør man også vurdere å bytte passord og nøkler.
Hva må du gjøre nå?
Det viktigste tiltaket er ett: oppdater PHP til en patchet versjon og start serveren på nytt. Bare oppdateringen retter sårbarheten fullstendig. Alt annet er sekundært.
Tiltaksliste for eieren av et PHP-nettsted
- Oppdater PHP til en patchet versjon. Oppdater PHP til versjon 8.5.12, 8.4.27, 8.3.36 eller 8.2.35, avhengig av hvilken gren du bruker.
- Start tjenesten på nytt. Start PHP-FPM eller webserveren på nytt etter oppdateringen, slik at gamle arbeidsprosesser ikke blir gående med gammel kode.
- Gammel PHP-versjon? Kontakt driften. Hvis du bruker PHP 8.1 eller eldre, finnes det ingen offisiell binæroppdatering. Be tjenestetilbyderen din om å oppdatere til en støttet versjon (8.2 eller nyere).
- Bruk midlertidige tiltak bare som nødhjelp. PHP-stiftelsens anvisninger, som å begrense maksimal forespørselsstørrelse (post_max_size) og å deaktivere innstillingen session.upload_progress.enabled, reduserer angrepsflaten, men erstatter ikke oppdateringen.
- Overvåk avvik. Følg med på uvanlige multipart-forespørsler og feil om overskredet minnegrense, som kan tyde på et forsøk på utnyttelse.
- Vurder å bytte påloggingsinformasjon. Siden minnet kan ha blitt lest, bytt databasepassord, API-nøkler og andre hemmeligheter etter patching, hvis det er grunn til å mistenke eksponering.
- Ikke stol på falske tillegg. Unngå uoffisielle tillegg som påstår at de patcher sårbarheten. Bare PHPs offisielle oppdatering retter hullet.
Hvilke PHP-versjoner er sårbare og hvilke er patchet?
Sårbarheten berører i praksis alle PHP-versjoner, fra flere år tilbake og helt opp til PHP 8. I tabellen nedenfor ser du hvilken versjon du bør oppdatere til.
| PHP-gren | Status | Anbefaling |
|---|---|---|
| PHP 8.5 | Patchet i versjon 8.5.12 | Oppdater til versjon 8.5.12 eller nyere. |
| PHP 8.4 | Patchet i versjon 8.4.27 | Oppdater til versjon 8.4.27 eller nyere. |
| PHP 8.3 | Patchet i versjon 8.3.36 | Oppdater til versjon 8.3.36 eller nyere. |
| PHP 8.2 | Patchet i versjon 8.2.35 | Oppdater til versjon 8.2.35 eller nyere. |
| PHP 8.1 og eldre | Sårbar, ingen offisiell binæroppdatering | Oppdater til en støttet versjon (8.2 eller nyere). Kildekoderettinger er tilgjengelige for versjoner som har nådd slutten av livssyklusen (7.4 til 8.1). |
Hvis du ikke vet hvilken PHP-versjon nettstedet ditt bruker, spør tjenestetilbyderen din eller sjekk det i kontrollpanelet. Hos mange kunder på delt webhotell håndterer tjenestetilbyderen oppdateringen, men det lønner seg å forsikre seg om at den faktisk er gjort.
Hvorfor unngår en statisk side dette helt?
På en statisk side kjøres PHP-tolkeren ikke i det hele tatt. Sidene er ferdigbygde HTML-filer som leveres som de er via et raskt CDN. Siden serveren ikke kjører PHP-kode for hver forespørsel, gjelder rett og slett ikke en sårbarhet som bygger på ekstern kodekjøring i PHP for et slikt nettsted.
Her ligger lærdommen fra bildet i artikkelen. I eventyret om de tre små grisene faller stråhytta og kvisthytta for ulvens pust, men mursteinshuset står. På nett blir PHPs stråhytte og WordPress sin kvisthytte stadig utsatt for vind når nye sårbarheter dukker opp. En statisk side er mursteinshuset: den har verken database, innloggingspanel, tillegg eller kode som kjøres på serveren, som et angrep kan feste seg i.
Det er ærlig å si at ingen plattform er trygg mot alt med et trylleslag. Også en statisk side kan settes sammen slurvete, og skjemaer og eksterne tjenester krever sin egen oppfølging. Det vesentlige er at nettopp denne sårbarhetsklassen, ekstern kodekjøring i PHP, forsvinner helt når nettstedet ikke har noen PHP-tolker. Samtidig forsvinner en stor del av den angrepsflaten som nettkriminelle tester dag etter dag.
Bør jeg gå bort fra WordPress?
En enkelt sårbarhet er ikke grunn til panikk, og den bør fremfor alt patches med en gang. Det langsiktige spørsmålet er likevel på sin plass. Hvis nettstedet ditt er en vanlig presentasjonsside for en bedrift, med noen få sider, kontaktinformasjon og kanskje et kontaktskjema, bringer et tungt PHP-basert publiseringssystem med seg en angrepsflate og en vedlikeholdsbyrde du ikke nødvendigvis trenger.
I et slikt tilfelle er en statisk side et lettere og tryggere alternativ. Du slipper å følge med på ukentlige sikkerhetsoppdateringer og slipper å løpe etter hver nye PHP- eller tilleggssårbarhet. For en stor plattform som krever mye funksjonalitet kan WordPress fortsatt være et berettiget valg, men for en presentasjonsside er det ofte overdimensjonert. Vi skrev mer inngående om temaet i artikkelen derfor forlot vi WordPress, og hele utviklingsbuen går vi gjennom i nettsidenes historie.
Lag sider uten PHP og uten oppdateringsvakt
Novavalo lager statiske sider som ikke kjøres med PHP eller WordPress:
- Ingen PHP-tolker, ingen database, ingen tillegg, så en PHP-sårbarhet som denne berører ikke nettstedet ditt.
- Du forteller om bedriften din og kunstig intelligens bygger sidene, som leveres via et raskt CDN.
- Ingen ukentlig sikkerhetsvedlikehold, du fokuserer på innholdet, ikke på å passe på oppdateringer.
Ofte stilte spørsmål
Hva er PHP2Shell (CVE-2026-109618 og CVE-2026-109619)?
PHP2Shell er et samlenavn for to kritiske sårbarheter i PHP, offentliggjort i oktober 2026. Begge gjør det mulig med ekstern kodekjøring (RCE) uten innlogging og er klassifisert som kritiske i alvorlighetsgrad (CVSS 9.2). Et vellykket angrep kan føre til full overtakelse av serveren.
Berører dette WordPress-nettstedet mitt?
Ja, hvis nettstedet ditt kjører på en sårbar PHP-versjon. Sårbarhetene er i kjernen av PHP, så de berører alle WordPress-nettsteder uavhengig av tillegg og temaer. Forskere har vist at sårbarheten kan brukes mot selv de nyeste WordPress-installasjonene uten innlogging.
Hva må jeg gjøre med en gang?
Oppdater PHP til en patchet versjon (8.5.12, 8.4.27, 8.3.36 eller 8.2.35) og start PHP-FPM eller webserveren på nytt. Hvis du bruker PHP 8.1 eller eldre, kontakt tjenestetilbyderen din om oppdatering til en støttet versjon. Bare oppdateringen retter problemet fullstendig.
Hvorfor er en statisk side ikke utsatt for denne sårbarheten?
På en statisk side kjøres PHP-tolkeren ikke i det hele tatt. Sidene er ferdige HTML-filer som leveres via et CDN. Siden det ikke kjøres PHP-kode per forespørsel på serveren, gjelder ikke en PHP-sårbarhet basert på ekstern kodekjøring for et slikt nettsted.
Er det nok med midlertidige tiltak uten oppdatering?
Nei. PHP-stiftelsen ga ut midlertidige tiltak som reduserer angrepsflaten, men de gjør ikke installasjonen trygg alene. Bare en oppdatering til en patchet versjon retter sårbarheten. Unngå også uoffisielle tillegg som påstår at de patcher problemet.
Lekker sårbarheten passord og nøkler?
I tillegg til kodekjøring kan disse sårbarhetene brukes til å lese minnet til PHP-arbeidsprosessen, som kan inneholde passord, øktidentifikatorer og API-nøkler. For WordPress kan dette for eksempel bety at databasepålogginger eller tredjepartsnøkler avsløres. Derfor anbefaler mange også å bytte passord og nøkler etter patching.
Hvorfor er en gammel feil farlig først nå?
Koden bak feilene hadde vært i PHP lenge, og det var tegn til det andre problemet allerede i 2024. En fungerende angrepsmåte ble likevel ikke funnet den gang. I 2026 viste forskere ved hjelp av kunstig intelligens hvordan feilene kan utnyttes. Kunstig intelligens senker terskelen for å bygge komplekse angrep, så gamle feil kan bli utnyttbare.
Et trygt nettsted uten PHP-angrepsflate
La kunstig intelligens bygge et statisk nettsted for bedriften din, uten PHP-tolker, database eller tillegg å passe på. Du ser resultatet på noen få minutter.
Kom i gang gratis →Åpenhetsmerknad: Denne artikkelen er produsert med hjelp av kunstig intelligens, og Novavalos redaksjon er ansvarlig for innholdet. Artikkelen er generell informasjon om sikkerhet og erstatter ikke offisielle sikkerhetsmeldinger. Sjekk alltid de oppdaterte anvisningene i de offisielle kildene nedenfor.