PHP2Shell
Alvarlegur veikleiki · CVSS 9.2 Critical vulnerability · CVSS 9.2

PHP2Shell: alvarlegir veikleikar í kjarna PHP PHP2Shell: critical vulnerabilities in core PHP

PHP2Shell er fjölskylda alvarlegra veikleika í kjarna PHP sem nýlega hafa verið lagfærðir. Þeir geta gert óauðkenndum árásaraðilum kleift að keyra kóða á netþjóni eða komast yfir viðkvæm gögn úr minni PHP-ferla. PHP knýr um 70% vefsíðna, þar á meðal WordPress, Drupal og MediaWiki (Wikipedia).

PHP2Shell is a family of critical vulnerabilities recently fixed in core PHP. They can allow unauthenticated attackers to execute code or expose sensitive process memory. PHP powers approximately 70% of websites, including platforms such as WordPress, Drupal and Wikipedia's MediaWiki.

9.2CVSS alvarleikastigCVSS severity score
2CVE-númerCVEs
~70%vefsíðna keyra á PHPof websites run on PHP
EnginNoneauðkenning nauðsynlegauthentication required

Hvað er PHP2Shell?What is PHP2Shell?

PHP2Shell er fjölskylda minnisöryggisveikleika (e. memory-safety vulnerabilities) í kjarna PHP. Hún samanstendur af tveimur skyldum flokkum veikleika sem skráðir eru undir tveimur CVE-númerum: spillingu sem stafar af meðhöndlun minnisþurrðar (e. out-of-memory) og úreltri sameiginlegri stöðu (e. stale global state) sem lifir á milli beiðna.

Veikleikinn er í PHP sjálfu. Vefsíður geta verið berskjaldaðar jafnvel þótt forritakóði þeirra sé öruggur – líka einfalt „Hello World“-forrit sem keyrir á viðkvæmri útgáfu af PHP.

Vefir sem keyra nýjustu lagfærðu útgáfur PHP eru varðir. PHP-teymið brást við tilkynningunum af einstökum hraða og fagmennsku og vann náið með rannsakendum að heildstæðum lagfæringum.

WordPress, Drupal og Joomla voru notuð sem dæmigerð skotmörk til að sýna fram á fjarkeyrslu kóða án auðkenningar. Misnotkun krefst þó ekki neins þessara forrita.

PHP2Shell is a family of memory-safety vulnerabilities in core PHP. It comprises two related vulnerability classes, tracked as two CVEs: corruption caused by out-of-memory handling, and stale global state that survives across requests.

The vulnerable code is in PHP itself. Websites can be affected even when their application code is secure, including a simple “Hello World” application running on an affected PHP version.

Sites running the latest patched PHP releases are protected. The PHP team responded to these reports with exceptional speed and professionalism, working closely with researchers to deliver comprehensive fixes.

WordPress, Drupal and Joomla were representative targets used to demonstrate unauthenticated remote code execution. Exploitation does not require one of those applications.

Hvað geta árásaraðilar gert?What attackers can do

Sýnt var fram á fjarkeyrslu kóða gegn WordPress, Drupal og Joomla með nýjustu gámamyndum (e. container images) þeirra þegar prófanir fóru fram. Einnig var sýnt fram á minnisleka sem er óháður forriti.

We demonstrated remote code execution against WordPress, Drupal and Joomla using their latest container images at the time of testing. We also demonstrated application-agnostic memory disclosure.

>_

Keyra kóða án auðkenningarExecute code without authentication

Á viðkvæmum netþjónum – og hugsanlega ná stjórn á netþjóninum, komast í viðkvæm gögn, færa sig áfram innan netkerfisins eða afskræma vefsíður hans.

On affected servers – potentially taking control of the server, accessing sensitive data, moving laterally, or defacing its websites.

⌗

Lesa viðkvæmt minniRead sensitive memory

Úr PHP-ferlum, þar á meðal lykilorð, auðkenningartóka, API-lykla og skilríki sem tilheyra öðrum beiðnum eða netþjóninum sjálfum.

From the PHP process, including passwords, authentication tokens, API keys and certificates belonging to other requests or the server itself.

!

Stela gögnum án kóðakeyrsluSteal data without code execution

Í gegnum minnisleka án þess að ná fyrst að keyra kóða. Þetta getur gert virknina erfiðari að greina með tólum sem einblína á keyrslu illgjarns kóða.

Through memory disclosure, without first achieving remote code execution. This can make the activity harder to detect with tools focused on malicious code execution.

VeikleikarnirThe vulnerabilities

CVE FlokkurClass ÁhrifImpact Sýnt fram áDemonstrated
CVE-2026-109618 Spilling vegna minnisþurrðar (OOM)Out-of-memory (OOM) corruption Keyra kóða án auðkenningar sem PHP-vinnsluferli vefþjónsins (e. web worker)Execute code without authentication as the PHP web worker Fjarkeyrsla kóða án auðkenningar á WordPress, Drupal og JoomlaPre-authentication RCE on WordPress, Drupal and Joomla
CVE-2026-109619 Úrelt sameiginleg staða milli beiðnaStale global state across requests Kalla fram use-after-free til að leka minni vinnsluferlis eða keyra kóðaTrigger a use-after-free to disclose worker memory or execute code Fjarkeyrsla kóða án auðkenningar á WordPress og Drupal; minnisleki óháður forritiPre-authentication RCE on WordPress and Drupal; application-agnostic remote memory disclosure

Viðkvæmar og lagfærðar útgáfurVulnerable and fixed PHP releases

PHP-greinPHP branch Viðkvæmar útgáfurVulnerable releases Fyrsta lagfærða útgáfaFirst fixed release
8.2< 8.2.358.2.35
8.3< 8.3.368.3.36
8.4< 8.4.278.4.27
8.5< 8.5.128.5.12
PHP frá Linux-dreifingum:PHP from Linux distributions: Red Hat, AlmaLinux, Rocky, Debian, Ubuntu o.fl. bæta lagfæringum oft inn í eldri útgáfur (e. backport) án þess að útgáfunúmerið breytist. Til dæmis er 8.3.33-1.el10_2.alma.1 lagfært þótt 8.3.33 sé lægra en 8.3.36. Athugaðu öryggistilkynningar dreifingarinnar, t.d. með rpm -q --changelog php-common | grep CVE-2026-10961. Red Hat, AlmaLinux, Rocky, Debian, Ubuntu and others often backport fixes into older releases without changing the version number. For example, 8.3.33-1.el10_2.alma.1 is patched even though 8.3.33 is below 8.3.36. Check your distribution's security advisories, e.g. with rpm -q --changelog php-common | grep CVE-2026-10961.
Fljótleg athugunQuick check

Sláðu inn PHP-útgáfuna þína (t.d. 8.3.21) til að sjá hvort hún sé viðkvæm. Enter your PHP version (e.g. 8.3.21) to see whether it is affected.

Hvað á að gera?What should you do?

  1. Athugaðu hvaða PHP-útgáfu þú keyrirCheck which PHP version you run

    Vefþjónninn getur notað aðra PHP-útgáfu en skipanalínan (t.d. PHP-FPM eða mod_php). Staðfestu útgáfuna sem vefurinn keyrir í raun og veru.

    The web server may use a different PHP version than the command line (e.g. PHP-FPM or mod_php). Confirm the version your site actually runs.

    php -v
    php-fpm -v
  2. Uppfærðu PHPUpdate PHP

    Uppfærðu í lagfærða útgáfu fyrir þína grein (sjá töflu hér að ofan) og endurræstu PHP-FPM eða vefþjóninn svo breytingin taki gildi. Ef þú keyrir grein eldri en 8.2, sem nýtur ekki lengur stuðnings, skaltu færa þig yfir í studda grein.

    Update to the fixed release for your branch (see the table above) and restart PHP-FPM or the web server so the change takes effect. If you run a branch older than 8.2, which is no longer supported, move to a supported branch.

  3. Ertu með vefinn í hýsingu?Is your site hosted?

    Hafðu samband við hýsingaraðilann þinn og spurðu hvort PHP hafi verið uppfært. Það dugar ekki eitt og sér að uppfæra WordPress, Drupal eða Joomla – veikleikinn er í PHP sjálfu.

    Contact your hosting provider and ask whether PHP has been updated. Updating WordPress, Drupal or Joomla alone is not enough – the vulnerability is in PHP itself.

  4. Endurnýjaðu leyndarmál ef grunur er um misnotkunRotate secrets if you suspect exploitation

    Þar sem minnisleki getur afhjúpað lykilorð, tóka, API-lykla og skilríki skaltu íhuga að endurnýja þau ef netþjónn keyrði viðkvæma útgáfu og var aðgengilegur af netinu.

    Because memory disclosure can expose passwords, tokens, API keys and certificates, consider rotating them if a server ran an affected version and was reachable from the internet.

  5. Tilkynntu atvikReport incidents

    Íslensk fyrirtæki og stofnanir geta tilkynnt öryggisatvik til CERT-IS, netöryggissveitar Íslands: cert.is.

    Icelandic companies and organisations can report security incidents to CERT-IS, the national CERT of Iceland: cert.is.

Mikilvægt:Important: Öruggur forritakóði verndar ekki gegn PHP2Shell. Eina varanlega lausnin er að keyra lagfærða útgáfu af PHP. Secure application code does not protect against PHP2Shell. The only lasting fix is to run a patched PHP release.