PHP2Shell: dues errades de PHP obliguen a actualitzar milions de webs
El 21 d'octubre es van publicar correccions d'urgència per a dues vulnerabilitats que permeten executar ordres en un servidor sense contrasenya. Com funcionen, qui les va trobar i què cal actualitzar.
El 21 d'octubre, el projecte PHP va publicar correccions d'urgència per a dues vulnerabilitats que permeten executar ordres en un servidor sense contrasenya i sense que ningú hagi de fer clic enlloc. Els identificadors són CVE-2026-109618 i CVE-2026-109619, i els qui les van trobar les han batejat com a PHP2Shell. PHP és el llenguatge sobre el qual funcionen WordPress, Drupal, Joomla o MediaWiki: segons TechCrunch, hi confia al voltant del 70 % del web, i BleepingComputer xifra la quota entre el 75 % i el 80 %.
Milers d'administradors van haver de moure's de pressa. Segons TechCrunch, bancs, botigues, hospitals i alguns organismes públics van desconnectar serveis mentre actualitzaven, i la plataforma educativa belga Smartschool va quedar fora de línia.
Una errada de neteja
Les dues vulnerabilitats tenen la mateixa arrel, segons BleepingComputer: PHP pot deixar la memòria en mal estat quan una petició acaba de manera anormal. Calif, l'empresa que les va trobar, ho explica a el seu informe en dos temps. Primer, l'atacant esgota la memòria del procés. Li n'hi ha prou amb una petició que no arribi als 8 MiB que PHP accepta per defecte, plena de camps de càrrega de fitxers buits amb noms imbricats, que generen prou dades internes per acabar amb els 128 MiB disponibles. Després, l'error fatal arriba enmig d'una operació, PHP se salta la neteja i deixa dades velles, i el codi que s'executa a continuació se'n refia.
Calif hi va identificar tres punts on una interrupció així deixa rastre: la inserció en taules hash, l'arrencada de la sessió que segueix les càrregues de fitxers i el descodificador d'unserialize, la funció que reconstrueix dades a partir de text. El resultat, segons l'informe, és execució remota de codi en configuració per defecte en aplicacions com WordPress, Drupal, Joomla, MediaWiki o Magento. L'equip de seguretat de PHP veu el risc més gran amb Apache i mod_php, on l'atac es pot activar amb una petició anònima abans que s'executi cap línia de l'aplicació.
Dos mesos d'embargament
Calif es va unir el 30 de juliol a una iniciativa d'OpenAI i Wiz i hi va implicar la Fundació PHP. Va trobar el primer error l'1 d'agost, el va comunicar a PHP l'11 d'agost i va avisar del segon el 21. Des de llavors, les correccions es van preparar sota embargament, perquè els grans proveïdors poguessin actualitzar abans que es fes públic.
La família d'errors no és nova. Calif recorda que el 2004 Stefan Esser ja havia trobat una execució de codi lligada al límit de memòria, i que una auditoria d'OSTIF i Quarkslab del 2024 va detectar un problema d'esgotament de memòria relacionat que no es va poder demostrar explotable i no es va corregir. TechCrunch presenta aquella auditoria com el primer descobriment dels errors; Calif precisa que va ser una troballa relacionada, no un exploit que funcionés.
Atacs abans del parxe
L'embargament no va aguantar fins al final. Segons TechCrunch, Amazon va detectar explotació de PHP2Shell abans de la divulgació pública i en va situar els primers indicis el 17 d'octubre. BleepingComputer recull que el director tècnic de Cloudflare va explicar que l'empresa ja havia posat regles temporals al seu tallafoc web i veia els primers atacs; el seu director executiu va parlar, un cop publicades les correccions, d'un nombre exponencial d'intents. La Fundació PHP va culpar una empresa d'haver activat els parxes unes hores abans que acabés l'embargament.
El dia 21, segons TechCrunch, CISA i PHP.net van publicar avisos; BleepingComputer afegeix que el NCSC britànic va demanar actualitzar immediatament o desconnectar els sistemes PHP fins a fer-ho. VirusTotal calcula que hi ha més de 5,1 milions de servidors PHP exposats a internet.
CISA confirma l'explotació
El 26 d'octubre, la CISA va afegir les dues vulnerabilitats al seu catàleg de vulnerabilitats explotades activament i va donar fins al 29 d'octubre a les agències civils federals dels Estats Units per corregir-les, segons The Register. La setmana anterior l'agència advertia del perill però deia que encara no havia vist explotació amb èxit. No ha revelat quines organitzacions han estat compromeses.
The Register recull dues mesures independents. L'investigador de seguretat de Perplexity Adel Karimi va registrar 35 execucions d'ordres amb èxit en tres servidors parany (honeypots) amb PHP 8.4.26 i Apache mod_php, des de dues adreces IP; avisa que la configuració afavoreix l'atac i que no representa necessàriament els servidors reals. El laboratori d'intel·ligència d'amenaces de la Universitat de Delft va comptar més de 50.000 peticions d'explotació des de més de 600 adreces de 70 països, 171 de les quals van enviar codi d'atac o programari maliciós. El tauler públic del laboratori en sumava 68.499 dimarts al vespre, des del 21 d'octubre, des de 652 adreces de 73 països, 174 de les quals van enviar codi o un descarregador, segons The Next Web. Alhora, es van rectificar dues lectures primerenques: Sophos va admetre que el que havia vist eren escaneigs i intents fallits, i Palo Alto Networks va retirar el vincle amb una intrusió en un organisme públic europeu.
De PHP a l'arrel del servidor
El 29 d'octubre, Palo Alto Networks va actualitzar el seu informe de la Unit 42: segons la seva actualització, les dues vulnerabilitats s'exploten activament contra interfícies de gestió de PAN-OS exposades a internet. Els investigadors de Dream Security descriuen una campanya que combina PHP2Shell amb una errada d'escalada de privilegis del nucli de Linux, anomenada Fragnesia (CVE-2026-46300), per obtenir accés d'administrador, segons CSO Online. Hi ha 25 servidors compromesos, la majoria tallafocs, tres d'ells vinculats al govern dels Estats Units. PHP2Shell només dona l'accés amb els permisos del compte que executa PHP; la segona errada és la que obre la porta a l'arrel del sistema.
BleepingComputer afegia el 26 d'octubre que una altra errada d'execució de codi, CVE-2026-115560, encara no tenia correcció, i recomanava com a mesura temporal desactivar session.upload_progress.enabled (BleepingComputer). PHP.net ja havia publicat el 23 d'octubre un avís amb la mateixa mesura (session.upload_progress.enabled=0, a php.ini o a la configuració de FPM, no amb ini_set()) fins a la propera versió de correcció d'errors; a 1 de novembre, la llista de novetats de PHP.net no mostrava cap versió posterior a les del 21 d'octubre (8.5.12, 8.4.27, 8.3.36 i 8.2.35), que no corregeixen aquesta errada.
Quina versió cal tenir
Les versions corregides són la 8.5.12, la 8.4.27, la 8.3.36 i la 8.2.35. L'anunci de la 8.5.12 la presenta com una versió de seguretat.
PHP ja no actualitza la 8.1 ni les anteriors. El projecte ha publicat correccions mínimes del codi font per a les 7.4, 8.0 i 8.1, però qui depèn d'una distribució o d'un proveïdor amb suport llarg ha de demanar-li la seva correcció o passar a una versió vigent. Hi ha mesures temporals, com treure el límit de memòria o desactivar el seguiment de càrregues a la sessió, però els mateixos desenvolupadors avisen que no bloquegen l'atac del tot, i Calif adverteix que sense límit de memòria augmenta el risc d'esgotament. L'única solució és actualitzar.
Qui té una web pròpia ha de preguntar a l'allotjament quina versió de PHP executa; en els plans compartits, normalment l'actualitza el proveïdor. Qui només visita webs no ha de fer res concret: la feina és de qui les gestiona.
Què hi té a veure la IA
Calif explica que per al primer error no va usar eines especials ni models restringits. La clau va ser conèixer a fons la història de vulnerabilitats de PHP i sospitar que hi quedaven patrons vells. Un model de llenguatge (vegeu el glossari d'IA) els va ajudar a trobar maneres de superar els límits de memòria, i un agent d'IA va assenyalar l'error d'ordre que ho feia possible. Després van demanar al model que convertís aquell patró en una llista de comprovació, i d'allà va sortir la troballa sobre la sessió. Segons TechCrunch, els investigadors no creuen que cap model pugui trobar tots els errors amb instruccions simples.
Les errades de memòria són una classe antiga, i TechCrunch recorda que, segons l'NSA, al voltant del 75 % de les vulnerabilitats explotades activament hi estan relacionades. És una altra història de seguretat d'aquesta quinzena, com AdFection, l'espionatge «zero-click» a través d'anuncis que va documentar el Citizen Lab.
Article tancat el 1 de novembre de 2026. Recull les dades fins a aquesta data. Per seguir el tema, consulta els titulars de la portada.
L'Observador