Laburpen exekutiboa
PHPko segurtasun taldeak bi kalteberatasun kritikoetarako zuzenketak argitaratu ditu, batera PHP2Shell izenez ezagutzen direnak (CVE-2026-109618 eta CVE-2026-109619), autentifikaziorik gabe kodearen urruneko exekuzioa ahalbidetu dezaketenak. Bi kalteberatasunek 9.2ko CVSS 4.0 puntuazioa dute (kritikoa). Urriaren 21etik, segurtasun-enpresa batzuek (watchTowr, Cloudflare) esplotazio aktiboa jakinarazi dute; beste iturri batzuen arabera, oraingoz eskaneatzeak dira nagusi eta exploit publiko fidagarriak urriak dira; gainera, ez da konpromisoaren adierazle (IoC) ofizialik argitaratu. Konponbide osoa bertsio zuzenetara eguneratzea bakarrik denez, dokumentu honek, PHP segurtasun-taldearen informazio ofizialean eta banaketa eta fabrikatzaile nagusien oharretan oinarrituta, sistema bat eragina dagoen egiaztatzeko, zuzenketa aplikatzeko eta esplotazio-seinaleak bilatzeko urratsak biltzen ditu.
Baliabide eragindakorrak
- PHP 8.2.x (8.2.35 baino lehen)
- PHP 8.3.x (8.3.36 baino lehen)
- PHP 8.4.x (8.4.27 baino lehen)
- PHP 8.5.x (8.5.12 baino lehen)
- PHP 8.1 eta aurrekoak (euskarri ofizialik gabe; 7.4, 8.0 eta 8.1 adarretarako adabakiak daude)
Azterketa teknikoa
- CVE-2026-109618: PHP-k kalteberatasun bat du, kodearen urruneko exekuzioa (RCE) ahalbidetzen duena memoria falta (OOM) akatsak modu desegokian kudeatzean. Akats honek eskaeraren memoria hasieratu gabeko egoeran utz dezake, garbiketa prozedurak memoria hori irakurri edo horren gainean jarduteko aukera emanez. OOM estrategia desberdinek baldintza hau etengabe sortu dezakete.
- CVE-2026-109619: PHP-k kalteberatasun bat du, non egoera globalean ez den behar bezala berriro hasterik, honek eskaera askatutako memoria erreferentziatzea ahalbidetu dezake. Honek ondorengo eskaerek egoera zaharkitua irakurri edo erabiltzea ahalbidetu dezake, hasieratu gabeko egoera osora iritsi aurretik, kodearen urruneko exekuzioaren (RCE) arriskua handituz. Esplotazioa estrategia desberdinen araberakoa da, baldintza hau sortu dezaketenak.
Arintzea / Konponbidea
Berehala eguneratu PHP 8.5.12, 8.4.27, 8.3.36 edo 8.2.35 bertsioetara, edo instalatu banaketak eskaintzen dituen segurtasun-pakete zuzenduak, eta berrabiarazi PHP erabiltzen duten zerbitzuak (3. eta 4. urratsak). PHP 8.1 eta aurreko bertsioetarako, jada bertsio ofizial berririk jasotzen ez dutenak, kontsultatu LTS hornitzailearen edo banaketaren zuzenketa eskuragarriak, edo migratu euskarria duen bertsio batera. Edukiontziak dituzten inguruneetan, eguneratu irudiak bertsio zuzenduetara eta zabaldu berriro.
Berehala eguneratzea posible ez bada, aplikatu 5. urratseko aldi baterako neurriak, besteak beste, memory_limit=-1 konfiguratzea, post_max_size murriztea eta session.upload_progress.enabled=0 ezartzea (CVE-2026-109619-ren aurkako arintze partziala). PHPko segurtasun-taldearen arabera, neurri hauek esposizioa murriztu dezakete, baina ez dituzte kalteberatasunak ezabatzen. Konponbide osoa dagozkion segurtasun-eguneratzeak instalatzea da soilik.
1. Zein sistema daude arriskuan?
- Web eskaerak jasotzen dituen edozein PHP instalazio: PHP-FPM, mod_php duen Apache, php-cgi, FrankenPHP eta LiteSpeed. Arriskua handiagoa da mod_php-ren kasuan (php.net).
- Erasoa autentifikaziorik gabeko HTTP eskaera baten bidez egiten da eta aplikazioaren kodea exekutatu baino lehen gertatzen da. Beraz, ez aplikazioaren autentifikazioak ez CMS eguneratuta edukitzeak ez dute babesten.
- Red Hat-en arabera, esplotazioa zailagoa da PHP-FPM-rekin; hala ere, php.net-ek PHP-FPM arriskuan dauden instalazioen artean sartzen du. Eguneratu, edonola ere.
- Ez daude arriskuan PHPrik instalatuta ez duten sistemak, ezta PHP konfiantzazkoak ez diren HTTP eskaeretara esposatzen ez dutenak ere (Red Hat).
2. Inbentarioa: non bilatu PHP
- Sistemaren paketeak: php, php-fpm, php8.x, libapache2-mod-php eta antzekoak.
- Ostatatze-panelak (cPanel, Plesk...): PHP bertsio bat baino gehiago instalatuta izan ohi dituzte aldi berean; guztiak berrikusi behar dira.
- Edukiontziak: PHP irudiaren barruan doa. Oinarrizko irudia eguneratu eta edukiontziak berreraiki behar dira.
- Windows: deskonprimitutako instalazioak eta XAMPP, WampServer edo Laragon bezalako paketeak, askotan instalatutako aplikazio gisa agertzen ez direnak.
- PHP integratua duten hirugarrenen produktuak eta kudeatutako ostatatze-zerbitzuak edo SaaS: galdetu hornitzaileari zuzenketa aplikatu duen.
3. Instalatutako bertsioa egiaztatu
- Bertsio ofizial zuzenduak: 8.5.12, 8.4.27, 8.3.36 eta 8.2.35, edo geroagokoak.
- Komando-lerroko bertsioa: php -v. Web zerbitzuak (FPM edo mod_php) beste bertsio bat erabil dezake; egiaztatu zerbitzu bakoitzaren bitarra, adibidez sudo php-fpm8.3 -v (izena banaketaren arabera aldatzen da). mod_php-k ez du exekutatzeko bitarrik: egiaztatu paketearen bertsioa (libapache2-mod-php8.x Debian/Ubuntu-n, php RHEL-en).
- Garrantzitsua: Linux banaketek zuzenketa bertsio-zenbakia aldatu gabe aplikatu ohi dute. Adibidez, Ubuntu 24.04-k «8.3.6» erakusten jarraitzen du zuzenduta egon arren. Banaketaren paketeetan paketearen bertsioa egiaztatu behar da, ez php -v komandoaren emaitza.
- Debian eta Ubuntu: dpkg -l '*php*' | grep ^ii. CVE-2026-109618 zuzentzen duten pakete-bertsio minimoak:
· Debian 13 (trixie), php8.4: 8.4.27-1~deb13u1 (DSA-6574-1)
· Debian 12 (bookworm), php8.2: 8.2.35-1~deb12u1 (DLA-4848-1)
· Ubuntu 26.10, php8.5: 8.5.9-0ubuntu2.1
· Ubuntu 26.04 LTS, php8.5: 8.5.4-0ubuntu1.5
· Ubuntu 24.04 LTS, php8.3: 8.3.6-0ubuntu0.24.04.13
· Ubuntu 22.04 LTS, php8.1: 8.1.2-1ubuntu2.28
· Ubuntu 20.04 LTS eta aurrekoak: zuzenketak Ubuntu Pro (ESM) bidez soilik; adibidez, 20.04, php7.4: 7.4.3-4ubuntu2.29+esm5
- CVE-2026-109619: dokumentu hau idatzi den datan, Debian-ek Debian 13-n soilik ematen du zuzendutzat (8.4.27-1~deb13u1); Debian 12 eta testing/unstable kalteberak izaten jarraitzen dute. Ubuntu-ren trackerrak «ebaluazioaren zain» markatzen du, nahiz eta Ubuntu-ren blogak PHP2Shell-erako zuzenketak iragartzen dituen. Kontsultatu egoera eguneratua sistema bat zuzendutzat eman aurretik eta, bitartean, aplikatu 5. urratseko neurriak.
- RHEL eta eratorriak: rpm -qa '*php*' eta dnf updateinfo list --all --cve CVE-2026-109618,CVE-2026-109619 (RHEL 7-n, dnf-ren ordez yum). Emaitza hutsak ez du esan nahi sistema zuzenduta dagoenik: baliteke zuzenketa oraindik argitaratu gabe egotea. RHEL 7, 8, 9 eta 10 daude eragindakoak, baita RHEL edo UBI irudietan oinarritutako edukiontziak eta RHEL-en oinarritzen diren produktuak ere; Red Hat-ek eguneratzeak pixkanaka argitaratzen ari da (RHSB-2026-013) eta edukiontziak berreraiki behar dira oinarrizko irudiak eguneratzen direnean. AlmaLinux-ek pakete zuzenduak argitaratu ditu.
- rpms.remirepo.net biltegia erabiltzen baduzu: php.net-ek ohartarazi zuen biltegi horrek ez zuela eguneratzerik izango urriaren 21ean eta banaketaren paketeetara pasatzea edo iturburu-kodetik konpilatzea gomendatzen du.
- Windows: bitar zuzenduak php.net-en deskargen orrian daude.
- PHP 8.1, 8.0 eta 7.4: proiektuak ez du bertsio ofizialik argitaratuko. PHP segurtasun-taldeak iturburu-kodeko adabakiak eman ditu adar horietarako; bestela, jo LTS hornitzaile batengana edo migratu onartzen den bertsio batera. PHP 7.3 eta aurrekoek (PHP 5 barne) ez dute adabakirik, banaketa batzuen euskarri hedatuaren bidez izan ezik (adibidez, Ubuntu Pro).
4. Eguneratu eta zerbitzuak berrabiarazi
- Debian eta Ubuntu: sudo apt update && sudo apt upgrade
- RHEL eta eratorriak: sudo dnf update 'php*'
- Berrabiarazi PHP erabiltzen duten zerbitzu guztiak; bestela, bitar zaharrak memorian jarraitzen du. Adibidez: sudo systemctl restart php8.3-fpm edo sudo systemctl restart apache2 (RHEL-en: php-fpm eta httpd).
- Edukiontziak: eguneratu oinarrizko irudia bertsio zuzendua duen etiketa batera eta berreraiki; dagoeneko eraikitako irudiak ez dira beren kabuz eguneratzen.
- Eguneratu ondoren, errepikatu 3. urratseko egiaztapena.
5. Aldi baterako neurriak (berehala eguneratzea posible ez bada)
php.net-en arabera, neurri hauek eraso-bide zehatz batzuk murrizten dituzte, baina ez dute instalazioa segurua egiten. Ahalik eta lasterren eguneratu behar da.
- CVE-2026-109618:
· memory_limit=-1, aplikazioek alda ez dezaketen moduan finkatuta (adibidez, php_admin_value FPM poolean edo Apache-ren konfigurazioan). Egiaztatu beste konfigurazio batek ez duela muga finitua berriro ezartzen. Memoria mugatzeko, erabili edukiontzi- edo cgroup-muga; ez erabili RLIMIT_AS edo RLIMIT_DATA, hutsegite kalteberra eragin baitezakete.
· post_max_size = 8M fitxategirik igotzen ez bada; beharrezkoa bada, post_max_size = 32M, upload_max_filesize post_max_size baino txikiagoa izanik.
· Web zerbitzariko edo proxyko mugak: eskaeraren tamaina, eremu kopurua, multipart zati kopurua, goiburu kopurua eta habiaratze-sakonera. Content-Length erabilgarririk gabeko eskaerei ere aplikatu behar zaizkie.
- CVE-2026-109619:
· session.upload_progress.enabled=0 php.ini-n edo FPM poolean, eta berrabiarazi worker guztiak. Ez du balio ini_set() edo .user.ini bidez egiteak. CVE-2026-109619-ren frogatutako bide bakarra blokeatzen du: ez du babesten CVE-2026-109618-ren aurrean, ezta beste aldaera batzuen aurrean ere.
· PHP 8.5: fatal_error_backtraces=0, eta berrabiarazi worker guztiak.
· Kendu eskaera bakoitzean aplikatzen diren ezarpen baliogabeak edo zaharkituak, hasieraketa baino lehen diagnostikoak sortzen badituzte. Diagnostikoak error_reporting, display_errors edo @ bidez ezkutatzeak ez du balio.
· Zuzendu erasotzaile batek eragin ditzakeen errore larriak eta exekuzio-denboraren agortzeak (callbacketan, igoeren edo inportazioen prozesamenduan eta garbiketan).
- Cyberzaintzaren gomendioa: eguneratu arte, isolatu zerbitzaria Internetetik edo mugatu sarbidea.
6. Esplotazio-seinaleak detektatu
Oraingoz ez dago IoC ofizialik. Hurrengo seinaleak fabrikatzaileek (Datadog, Tanium) gomendatzen dituztenak dira:
- Web zerbitzariak edo PHP workerrek (www-data, apache, nginx edo php-fpm erabiltzaileak) abiarazitako shell prozesuak (sh, bash) edo bestelako komandoak. Datadog-en arabera, seinale honek bi kalteberatasunen esplotazioa detektatzea ahalbidetzen du. Prozesu-zuhaitza ikusteko: ps -ef --forest
- Memoria agortzeko erroreak eskaeren hasieran PHP-ren logetan (adibidez, «Allowed memory size of ... bytes exhausted»), batez ere POST eskaera handiekin batera.
- POST edo multipart eskaera ezohikoak edo oso handiak sarbide-logetan, edozein .php fitxategiren aurka (script hutsalen aurka ere).
- Workerren erorketa azaldu gabeak (PHP-FPM-ren logean, adibidez, «exited on signal 11»). Kontuan izan esplotazio arrakastatsu batek ez duela zertan workerra eraitsi: erorketarik ez egoteak ez du esan nahi erasorik ez dagoenik.
- Esplotazio posible baten osteko egiaztapenak (jardunbide egokiak):
· Fitxategi berriak edo aldatuak web direktorioetan, ez soilik .php: find /var/www -type f -ctime -10 (egokitu bidea). -ctime erabiltzen da aldaketak detektatzeko, data touch bidez aldatu bada ere; kontuan izan eguneratzeek ere fitxategiak aldatzen dituztela.
· Web zerbitzaritik ezusteko irteerako konexioak, cron zeregin berriak eta SSH erabiltzaile edo gako berriak.
- Ez deskargatu GitHub-en argitaratutako PoCrik probak egiteko: CVE mediatikoen PoC faltsuek malwarea izan ohi dute (Tanium).
7. Konpromisoa susmatzen baduzu
- Eguneratzeak ez du aurretiko konpromisorik ezabatzen: erasotzaileak ate-atzeak utzi ditzake.
- Isolatu zerbitzaria saretik, baina ez itzali eta ez ezabatu ezer: gorde logak eta ebidentziak.
- Aldatu zerbitzaritik atzigarri dauden kredentzialak (datu-baseak, API gakoak, konfigurazio-fitxategiak).
- Jakinarazi Cyberzaintzari: incidencias@cyberzaintza.eus edo 900 104 891 telefonoa.
Erreferentzia Osagarriak
- Segurtasun oharra - php.net
- Segurtasun oharra - GHSA-w8hw-w9fx-j79w (CVE-2026-109618)
- Segurtasun oharra - GHSA-6wmf-4rv5-p3rp (CVE-2026-109619)
- Segurtasun oharra - The PHP Foundation
- Segurtasun oharra - Debian
- Segurtasun oharra - Ubuntu
- Segurtasun oharra - AlmaLinux
- Segurtasun oharra - Red Hat RHSB-2026-013
- Segurtasun oharra - Datadog Security Labs
- Segurtasun oharra - Tanium