Crmgo Blog

PHP2Shell: Kritične ranjivosti u PHP-u (CVE-2026-109618, CVE-2026-109619) — Hitno ažurirajte na 8.5.12, 8.4.27, 8.3.36, 8.2.35

PHP2Shell: Kritične ranjivosti u PHP-u (CVE-2026-109618, CVE-2026-109619) — Hitno ažurirajte na 8.5.12, 8.4.27, 8.3.36, 8.2.35

21. oktobra 2026. godine PHP je izdao hitna ažuriranja 8.5.12, 8.4.27, 8.3.36 i 8.2.35. Ona ispravljaju dve kritične ranjivosti (CVSS 9.2) koje omogućavaju udaljeno izvršavanje koda bez autentifikacije na PHP-FPM, mod_php, php-cgi, FrankenPHP i LiteSpeed.

PHP2Shell: Kritične ranjivosti u PHP-u (CVE-2026-109618, CVE-2026-109619) — Hitno ažurirajte na 8.5.12, 8.4.27, 8.3.36, 8.2.35

21. oktobra 2026. tim PHP-a objavio je hitna bezbednosna ažuriranja PHP 8.5.12, 8.4.27, 8.3.36 i 8.2.35. Ona zatvaraju dve kritične ranjivosti koje omogućavaju udaljeno izvršavanje koda bez autentifikacije: CVE-2026-109618 i CVE-2026-109619. Obe imaju ocenu CVSS v4.0 9.2. U medijima ih zajedno nazivaju PHP2Shell.

Šta se dogodilo

Oba nedostatka povezana su sa tim da PHP može ostaviti memoriju u oštećenom stanju ako se zahtev završi havarijski:

  • CVE-2026-109618 (GHSA-w8hw-w9fx-j79w): RCE kroz oštećenje memorije pri nedostatku memorije (OOM). Ako zahtev dostigne memory_limit u nezgodnom trenutku, interni podaci zahteva ostaju samo delimično inicijalizovani. Tokom čišćenja zahteva PHP ih može smatrati ispravnim. Na Apache-u sa mod_php napad se može pokrenuti neautentifikovanim zahtevom još pre izvršavanja koda aplikacije. Prema podacima PHP Foundation, potpuno udaljeno izvršavanje koda demonstrirano je sa podrazumevanim podešavanjima. Na PHP-FPM RCE je potvrđen kroz putanje u kodu aplikacije.
  • CVE-2026-109619 (GHSA-6wmf-4rv5-p3rp): RCE kroz „zastarelo“ globalno stanje. Fatalna greška u nezgodnom trenutku može ostaviti interno stanje koje pokazuje na već oslobođenu memoriju prethodnog zahteva. Sledeći zahtev u istom radniku može iskoristiti tu memoriju (use-after-free). Posledice: curenje podataka iz memorije, pad radnika i izvršavanje koda.

Koga se to tiče

Prema rečima tima PHP-a, ugrožene su sve instalacije PHP-a koje opslužuju veb zahteve: PHP-FPM, Apache sa mod_php, php-cgi, FrankenPHP i LiteSpeed. Najveći rizik je za mod_php.

Ranjive verzije (prema biltenu AWS-a):

  • PHP 8.5.0–8.5.11: ispravljeno u 8.5.12
  • PHP 8.4.0–8.4.26: ispravljeno u 8.4.27
  • PHP 8.3.0–8.3.35: ispravljeno u 8.3.36
  • PHP 8.2.0–8.2.34: ispravljeno u 8.2.35
  • PHP 8.1 i starije projekat PHP više ne podržava. Bezbednosni tim PHP-a objavio je minimalne bekportove izvornog koda za 7.4, 8.0 i 8.1. Takođe proverite ažuriranja svog distribucije ili LTS dobavljača.

Ispravke su takođe ušle u testnu verziju PHP 8.6.0 RC4.

Koliko je to ozbiljno

PHP radi na većini sajtova u svetu, uključujući WordPress, Joomla, Drupal, Laravel i Symfony. Prema podacima BleepingComputer, Cloudflare je još pre izlaska zakrpa zabeležio prve pokušaje napada i postavio privremena WAF pravila. Britanski NCSC pozvao je na hitno ažuriranje ili privremeno isključivanje ranjivih sistema. Programeri PHP-a naglašavaju da nema potpunih zaobilaznih mera: pouzdano štiti samo ažuriranje.

Šta uraditi sada

  1. Proverite verziju PHP-a. U konzoli izvršite php -v. Za veb server verzija može biti drugačija, pa je proverite preko phpinfo() ili na kontrolnoj tabli hostinga. Za FPM izvršite php-fpm -v (ili, na primer, php-fpm8.3 -v).
  2. Ažurirajte na 8.5.12, 8.4.27, 8.3.36 ili 8.2.35. Na Linuxu instalirajte ažurirane pakete svog distribucije (distribucije su dobile zakrpe unapred), na primer apt update && apt upgrade ili dnf upgrade php*.
  3. Restartujte sve radnike PHP-FPM, Apache i drugih SAPI-ja. Ponovo izgradite i ponovo postavite Docker slike.
  4. Ako imate PHP 8.1 ili stariji, planirajte prelazak na podržanu granu. Takođe imajte u vidu da podrška za PHP 8.2 ističe 31. decembra 2026. godine.

Privremene mere ako ažuriranje odmah nije moguće (one samo smanjuju rizik, ali ga ne otklanjaju):

  • Za CVE-2026-109618: postavite memory_limit=-1 preko php_admin_value, kako aplikacija ne bi mogla da promeni tu vrednost. Smanjite post_max_size na 8M (ili na 32M ako su potrebna otpremanja datoteka). Ograničite veličinu i složenost zahteva na nivou veb servera ili proksija.
  • Za CVE-2026-109619: postavite session.upload_progress.enabled=0 u php.ini ili u konfiguraciji FPM pula i restartujte radnike. Na PHP 8.5 takođe postavite fatal_error_backtraces=0.

Izvori

Ažurirajmo vaš projekat na novu verziju PHP-a

Tim CRM Go ažurira projekte klijenata na aktuelne zaštićene verzije PHP-a. Proveravamo kompatibilnost koda, ažuriramo zavisnosti i frejmvorke, testiramo projekat i postavljamo ažuriranja bez zastoja sajta. Ako niste sigurni da li je vaš server već zaštićen od PHP2Shell, pišite nam i pomoći ćemo.

Napomena: tekst može biti uz pomoć AI uz ljudsku proveru. Odgovoran: Dmytro Lomaka, Kaltenkirchen.