Actualizări critice de securitate pentru PHP și Node.js: ce am făcut noi și ce aveți de făcut

Patrick Wunderlin
Patrick Wunderlin
Actualizări critice de securitate pentru PHP și Node.js: ce am făcut noi și ce aveți de făcut

Astăzi, 21 octombrie 2026, PHP și Node.js au publicat actualizări de securitate. Problemele remediate în PHP sunt deosebit de grave: două vulnerabilități critice permit unui atacator să execute cod pe un server web fără autentificare. Au fost raportate atacuri chiar înainte de publicarea actualizării.

WireBoard este deja actualizat. Serviciul a funcționat fără întreruperi. Nu trebuie să faceți nimic în contul WireBoard și nici să modificați scriptul de monitorizare.

Dacă însă site-ul sau aplicația dumneavoastră folosește PHP ori Node.js, citiți în continuare și faceți actualizarea chiar astăzi.

Pe scurt

Versiunea de instalat

Gravitate

PHP

8.5.12, 8.4.27, 8.3.36 sau 8.2.35 (ori pachetul cu remedierea inclusă, oferit de furnizor)

Critică (CVSS 9,2), execuție de cod de la distanță fără autentificare

Node.js

26.12.1, 24.22.1 sau 22.23.4

Ridicată

  • Folosiți WordPress, Magento, Drupal, Laravel sau altă aplicație PHP? Atunci folosiți PHP. Actualizați acum.

  • Aveți găzduire partajată sau administrată? Furnizorul de găzduire se ocupă de actualizarea PHP. Verificați dacă a făcut-o.

  • După actualizarea PHP, reporniți PHP-FPM sau Apache. Altfel, versiunea veche va rula în continuare.

  • Folosiți o versiune pentru care nu se mai oferă suport (PHP 8.1 sau mai vechi, Node.js 25, 23, 20 sau mai vechi)? Nu veți primi o remediere oficială. Planificați trecerea la o versiune cu suport.


Ce s-a întâmplat

PHP: „PHP2Shell” (CVE-2026-109618 și CVE-2026-109619)

Echipa PHP a publicat remedieri pentru două vulnerabilități critice, ambele cu scorul 9,2 pe scala CVSS v4.0:

  • CVE-2026-109618: execuție de cod de la distanță prin coruperea memoriei, atunci când PHP epuizează memoria în timpul procesării unei cereri.

  • CVE-2026-109619: execuție de cod de la distanță prin reutilizarea unei stări globale neactualizate.

Ambele pot fi exploatate de la distanță, fără autentificare, în configurațiile implicite. Detaliile au ajuns online cu o zi înainte de data planificată pentru publicare. Firmele de securitate au observat atacuri și tentative de identificare a site-urilor PHP vulnerabile înainte ca actualizarea să fie disponibilă. Mai multe companii și-au oprit preventiv serviciile până au putut face actualizarea.

Sunt afectate toate ramurile PHP care beneficiază de suport, în versiunile anterioare 8.2.35, 8.3.36, 8.4.27 și 8.5.12.

Node.js: actualizarea de securitate din octombrie 2026

Node.js a publicat actualizări pentru ramurile 26.x, 24.x și 22.x, cu remedieri pentru 10 vulnerabilități. Patru au un nivel de gravitate ridicat. Cele mai importante sunt:

  • CVE-2026-111497: o scriere în afara limitelor memoriei alocate în componenta de decompresie Brotli, care ar putea permite execuția de cod de la distanță. Aplicația poate fi expusă prin simplul apel fetch() către un server care returnează date comprimate cu Brotli.

  • CVE-2026-105483 / CVE-2026-106069: metode de ocolire a verificării TLS a numelui gazdei, prin reprezentări neobișnuite ale adreselor IP.

  • CVE-2026-105482: dns.resolve putea rezolva un alt nume decât cel verificat de codul aplicației.

Ce am făcut noi

Am aplicat astăzi ambele actualizări în întreaga infrastructură WireBoard. Nu au existat întreruperi sau date afectate. Modul în care folosiți WireBoard rămâne neschimbat.

Vă afectează aceste vulnerabilități?

Trebuie să luați măsuri dacă site-ul, aplicația sau serverul dumneavoastră folosește:

  • PHP, direct sau printr-un CMS ori un framework precum WordPress, WooCommerce, Magento, Drupal, Joomla, Laravel sau Symfony.

  • Node.js, de exemplu într-o aplicație Next.js, Nuxt, Express sau NestJS, într-un serviciu backend ori pe un server de build care rulează Node.

Nu știți sigur? Întrebați dezvoltatorul sau furnizorul de găzduire. Este suficient să întrebați: „Site-ul nostru folosește PHP sau Node.js? A fost instalată actualizarea de securitate publicată astăzi?”

Cum verificați versiunea instalată

PHP

Contează versiunea folosită de serverul web. Comanda php -v rulată în terminal afișează versiunea PHP pentru linia de comandă, care poate fi diferită.

  1. Creați un fișier numit info.php în directorul rădăcină al site-ului, cu următorul conținut: <?php phpinfo();

  2. Deschideți-l în browser și verificați valoarea PHP Version din partea de sus.

  3. Ștergeți fișierul imediat după verificare: acesta expune întreaga configurație a serverului.

Multe panouri de administrare a găzduirii (cPanel, Plesk și altele) afișează și versiunea PHP.

Notă pentru pachetele din distribuțiile Linux: Ubuntu, Debian, RHEL și alte distribuții integrează adesea remedierea în pachetele existente, fără să schimbe numărul versiunii. În acest caz, căutați identificatorii CVE în istoricul modificărilor pachetului (vedeți mai jos).

Node.js

node -v

Remedierea este instalată dacă apare v26.12.1, v24.22.1, v22.23.4 sau o versiune mai nouă din aceeași ramură.

Cum actualizați PHP

Alegeți secțiunea potrivită pentru modul în care este instalat PHP pe server.

Găzduire partajată sau administrată

Furnizorul administrează PHP și aplică remedierea. Consultați pagina de stare a serviciilor sau anunțurile furnizorului, apoi confirmați versiunea cu phpinfo(), așa cum am descris mai sus. Dacă panoul de administrare vă permite să alegeți versiunea PHP și folosiți 8.1 sau o versiune mai veche, treceți la 8.2 sau la o versiune mai nouă. Verificați mai întâi compatibilitatea CMS-ului și a extensiilor.

Ubuntu / Debian

sudo apt update
# replace 8.3 with the PHP branch you use
sudo apt install --only-upgrade 'php8.3-*'

# confirm the fix is included
apt changelog php8.3-fpm | grep -E 'CVE-2026-10961(8|9)'

Dacă ultima comandă nu afișează nimic, remedierea nu a ajuns încă în depozitul de pachete al distribuției. Verificați anunțurile de securitate Ubuntu sau registrul problemelor de securitate Debian și încercați din nou mai târziu. Dacă folosiți pachetele PHP oferite de Ondřej Surý, actualizați-le din acel depozit, în același mod.

RHEL / AlmaLinux / Rocky Linux

dnf module list php          # see which PHP stream you're on
sudo dnf upgrade 'php*'

# confirm the fix is included
rpm -q --changelog php-fpm | grep -E 'CVE-2026-10961(8|9)'

Dacă folosiți depozitul Remi, faceți actualizarea de acolo.

Docker

Descărcarea unei imagini noi nu actualizează containerele care rulează deja. Descărcați imaginea, reconstruiți și recreați containerele:

docker pull php:8.3-fpm        # use your tag
docker compose build --pull
docker compose up -d

Pentru mai multă siguranță, specificați versiunea exactă cu remedierea inclusă în Dockerfile (de exemplu, FROM php:8.3.36-fpm).

Compilare din surse sau Windows

Descărcați versiunea cu remedierea inclusă de pe php.net/downloads.

Apoi reporniți PHP

Acest pas este ușor de omis. Procesele active folosesc în continuare vechea versiune PHP până la repornire:

# PHP-FPM (Debian/Ubuntu; replace 8.3 with your branch)
sudo systemctl restart php8.3-fpm

# PHP-FPM (RHEL family)
sudo systemctl restart php-fpm

# Apache with mod_php
sudo systemctl restart apache2   # or httpd on RHEL

Verificați apoi din nou cu phpinfo() dacă noua versiune este activă.

„Nu pot să schimb doar o setare?”

Nu. Au circulat câteva soluții provizorii, precum dezactivarea session.upload_progress.enabled, dar acestea doar reduc riscul. Un dezvoltator din echipa PHP a declarat public că singura soluție reală este actualizarea PHP. Dacă ați aplicat o măsură provizorie, păstrați-o până la actualizare, dar nu renunțați la actualizare.

Cum actualizați Node.js

Metoda de instalare

Cum faceți actualizarea

nvm

nvm install 24 (sau 22 / 26), apoi nvm alias default 24

Programul oficial de instalare

Descărcați cea mai recentă versiune din ramura folosită de pe nodejs.org/en/download

Docker

Specificați eticheta exactă a versiunii cu remedierea inclusă, de exemplu FROM node:24.22.1, apoi rulați docker pull și reconstruiți imaginea. O etichetă fără versiune exactă, precum node:24, poate păstra versiunea veche dacă reconstruiți folosind o imagine din cache.

Homebrew

brew update && brew upgrade node (sau node@24 / node@22). Actualizarea poate apărea în Homebrew cu câteva ore întârziere. Dacă nu puteți aștepta, folosiți nvm sau programul de instalare.

Managerul de pachete Linux

Actualizați ca de obicei, din depozitul distribuției sau din cel NodeSource.

Platformă de găzduire (Vercel, Netlify, Heroku, Render etc.)

Verificați setările mediului de execuție și anunțurile platformei. Majoritatea instalează automat versiunile cu remedieri, dar poate fi necesară o nouă implementare a aplicației.

După actualizare, reporniți aplicația (sau implementați-o din nou) și confirmați versiunea cu node -v.

Dacă folosiți o versiune fără suport

Remedierile oficiale sunt disponibile doar pentru versiunile care beneficiază de suport:

  • PHP: 8.2, 8.3, 8.4 și 8.5. PHP 8.1 și versiunile mai vechi nu primesc o actualizare oficială. Unele distribuții Linux și unii furnizori de suport extins contra cost integrează remedierile în versiunile vechi. Verificați dacă este cazul furnizorului dumneavoastră. Altfel, trecerea la o ramură cu suport este soluția sigură. Rețineți că PHP 8.2 primește doar remedieri de securitate, până la 31 decembrie 2026.

  • Node.js: 22.x, 24.x și 26.x. Ramuri precum 25, 23 și 20 nu mai beneficiază de suport și nu primesc remedierea.

Dacă nu puteți trece imediat la o versiune cu suport, luați în calcul protejarea site-ului cu un firewall pentru aplicații web sau restricționarea accesului până la actualizare.

Mai multe informații

Anunțuri oficiale de securitate

Ghiduri utile

Distribuie articolul
Patrick Wunderlin

Scris de

Patrick Wunderlin

Fondatorul WireBoard.io. Inginer informatician (EPFL), pasionat de web analytics, de procesarea datelor în timp real și de crearea de instrumente care ajută afacerile să crească.

WireBoard

Monitorizați site-ul dvs. în timp real

Dashboard-uri live, construite cum doriți. Începeți gratuit. Fără card, fără complicații.