Sari la conținut
Braincap
← Toate articolele

WordPress: RCE critic în nucleu, exploatat la ore după patch (CVE-2026-87902)

de Claudiu Hulea · IT Management Consultant

Ilustrație: cronologia CVE-2026-87902, de la patch-ul WordPress 7.1.2 la primele sonde sub cinci ore mai târziu și la exploatarea în masă a doua zi

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

Î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.

Articole similare