WordPress: RCE critic în nucleu, exploatat la ore după patch (CVE-2026-87902)
de Claudiu Hulea · IT Management Consultant
O vulnerabilitate critică în nucleul WordPress, CVE-2026-87902, e deja exploatată în masă, la ore după publicarea patch-ului. E un path traversal neautentificat, cu scor CVSS 9.2, care duce la includerea unui fișier PHP local și, pe configurații foarte comune, la execuție de cod pe server. E deja pe lista CISA de vulnerabilități exploatate activ. Dacă administrezi WordPress, actualizează la 7.1.2 acum.
Ce e, pe scurt
Vulnerabilitatea e în rezolvarea template-ului de pagină. Un atacator fără cont poate face funcția get_page_template() să includă un fișier .php local aflat în afara directoarelor temei active. Includerea în sine nu cere autentificare și nu depinde de condiții.
Saltul de la includere la execuție de cod e „condiționat”: are nevoie de gadget-ul pearcmd.php prezent pe server și de setarea PHP register_argc_argv activă. Combinate, ele permit scrierea unui fișier care rulează comenzi de shell când e accesat. Nu redăm pașii, dar ideea e clară: de la o cerere neautentificată la cod pe server.
Cine e expus
Condiția de RCE pare de nișă, dar nu e. Gadget-ul pearcmd.php vine implicit în două locuri foarte răspândite: imaginea oficială PHP pentru Docker și configurația cPanel implicită atunci când rulează o versiune de PHP mai veche de 8.5. Multe site-uri le au fără ca administratorul să știe.
Cu alte cuvinte, includerea de fișier e universală pe versiunile vulnerabile, iar execuția de cod e la un pas pe o mare parte din parcul real. Nu presupune că ești în siguranță doar fiindcă „nu folosești PEAR”.
De ce e serios
Trei motive.
E în nucleul WordPress, nu într-un plugin, și e neautentificat. Nu cere cont, nu cere click de la un admin, doar o cerere.
E critic și confirmat: CVSS 9.2, iar CISA l-a adăugat pe lista KEV pe 25 septembrie 2026, ceea ce înseamnă exploatare confirmată în sălbăticie.
E deja exploatat în masă. Potrivit Patchstack, primele sonde au apărut la 17:44 UTC pe 22 septembrie, la sub cinci ore de la patch, iar a doua zi traficul de atac a crescut de zece ori. Descoperitorul e cercetătorul Robert Ressl.
Ce ai de făcut acum
Actualizează la 7.1.2, imediat. Fix-ul e backportat pe toate ramurile întreținute, până la 4.7. Verifică versiunea reală a instalării, nu presupune că update-ul automat a rulat, mai ales pe site-urile self-hosted.
Dacă nu poți patch-a pe loc, pune două stopgap-uri. Respinge, la nivel de WAF sau server, orice cerere în care parametrul pagename conține .. sau %2e%2e. Și pune register_argc_argv = Off în php.ini, ceea ce taie ruta pearcmd.php chiar dacă gadget-ul e prezent.
Caută semne de compromitere. Verifică /tmp și /var/tmp pentru fișiere aruncate cu nume ca wp-pear-rce-flag.php sau poc87902.php, cereri neobișnuite către pearcmd.php și, în loguri, tipare de traversare în parametrul pagename. Blochează adresele IP sursă publicate de cercetători.
Ce reținem
Lecția e viteza. Fereastra dintre publicarea patch-ului și primele atacuri a fost de sub cinci ore, iar exploatarea în masă a venit în mai puțin de o zi. Pentru o vulnerabilitate de nucleu, neautentificată și pe lista KEV, un ciclu de „patch management lunar” nu mai apără nimic, fiindcă atacatorii sunt acolo în aceeași zi.
Reflexul corect nu e doar să ai auto-update pornit, ci să verifici că a rulat și că versiunea de pe disc e cea reparată. E aceeași disciplină ca peste tot: verifică efectul, nu presupunerea.
Vrei să știi ce versiuni de WordPress și ce configurații de PHP rulează de fapt pe site-urile tale, și cât de repede prinzi un patch critic? Scrie-ne și pornim de la un audit.
Surse
- BleepingComputer: hackers start exploiting critical WordPress flaw for code execution
- Patchstack: atacatorii au început să sondeze la ore după patch (CVE-2026-87902)
- SecurityWeek: critical WordPress vulnerability exploited immediately after disclosure
- SOCRadar: CVE-2026-87902 in WordPress enables conditional RCE
Întrebări frecvente
Ce este CVE-2026-87902?
O vulnerabilitate critică în nucleul WordPress (CVSS 9.2): un path traversal neautentificat în rezolvarea template-ului de pagină. Un atacator fără cont poate face funcția get_page_template() să includă un fișier .php local din afara directoarelor temei active. Pe configurații comune, asta duce la execuție de cod. Afectează versiunile 4.7.0 până la 7.1.1; reparat în 7.1.2, backportat până la 4.7.
De ce se spune „RCE condiționat”?
Includerea fișierului PHP local e neautentificată și nu depinde de condiții. Saltul la execuție de cod cere ca pe server să existe gadget-ul pearcmd.php și ca setarea PHP register_argc_argv să fie activă. Ambele sunt frecvente: imaginea oficială PHP pentru Docker și configurația cPanel implicită cu PHP sub 8.5 le au. Deci multe site-uri sunt expuse la RCE fără să știe.
E exploatat activ?
Da. Potrivit Patchstack, primele sonde au apărut la 17:44 UTC pe 22 septembrie 2026, la sub cinci ore de la publicarea patch-ului, iar exploatarea în masă a început a doua zi, cu o creștere de zece ori a traficului. Vulnerabilitatea a fost adăugată pe lista CISA KEV pe 25 septembrie. Atacatorii lasă fișiere în /tmp și /var/tmp cu nume ca wp-pear-rce-flag.php și poc87902.php.
Ce trebuie să fac?
Actualizează la WordPress 7.1.2 acum; fix-ul e backportat până la 4.7. Dacă nu poți patch-a imediat, două stopgap-uri: respinge cererile în care parametrul pagename conține .. sau %2e%2e (regulă de WAF), și pune register_argc_argv = Off în php.ini, ceea ce neutralizează ruta pearcmd. Verifică logurile pentru fișiere aruncate în /tmp și /var/tmp și pentru cereri către pearcmd.