Preskoči na sadržaj

PHP2Shell: kritične ranjivosti u PHP-u – kako odmah primijeniti zakrpe

BSI upozorava na CVE-2026-109618 i CVE-2026-109619: pogođene verzije, sigurne nadogradnje i upute za provjeru
21. oktobar 2026. by
PHP2Shell: kritične ranjivosti u PHP-u – kako odmah primijeniti zakrpe

21. oktobar 2026.  |  PHP  |  IT sigurnost

PHP2Shell: kritične sigurnosne ranjivosti u PHP-u CVE-2026-109618 i CVE-2026-109619, ažurirajte PHP odmah

Tim za sigurnost PHP-a objavio je 21. oktobra 2026. ažuriranja za sve verzije PHP-a koje su još podržane. Ona otklanjaju dvije kritične ranjivosti koje su postale poznate pod nazivom PHP2Shell. BSI je tim povodom izdao upozorenje i zahtijeva da se na pogođene sisteme odmah primijene zakrpe. Svako ko upravlja web serverom s PHP-om trebao bi reagirati još danas. To se odnosi i na sve koji koriste „samo“ WordPress, Nextcloud ili Joomla, jer te aplikacije rade na PHP-u.

Ovaj članak donosi pregled toga šta se dogodilo, koje su verzije PHP-a pogođene, koja vam je verzija sada potrebna i kako za nekoliko minuta možete provjeriti je li vaš server zaštićen.

Šta se dogodilo? Hronologija događaja

Tim za sigurnost PHP-a unaprijed je najavio objavljivanje ispravki kako bi pružaoci hosting usluga i administratori imali vremena za pripremu. Ispravke su objavljene 21. oktobra 2026. BSI je istog dana izdao svoje upozorenje (verzija 1.1).

Hronologija: prethodno upozorenje 20.10.2026, zakrpe za PHP 21.10.2026. u 14:00 UTC, upozorenje BSI-ja 21.10.2026.

  • 20. oktobar 2026: Tim za sigurnost PHP-a unaprijed upozorava da će narednog dana biti objavljena sigurnosna ažuriranja.
  • 21. oktobar 2026, 14:00 UTC (16:00 po srednjoevropskom ljetnom vremenu): Objavljene su zakrpe za PHP 8.5, 8.4, 8.3 i 8.2.
  • 21. oktobar 2026: BSI upozorava na „kritične ranjivosti koje ugrožavaju web aplikacije širom svijeta“ i preporučuje da se zakrpe odmah primijene. Prema navodima BSI-ja, pojedini veliki pružaoci hosting usluga preventivno su isključili servere s mreže.

Pregled dvije ranjivosti u PHP-u

Riječ je o dvije odvojene greške u jezgri PHP-a: CVE-2026-109618 i CVE-2026-109619. Prema navodima tima za sigurnost PHP-a, obje mogu omogućiti napadaču da izvršava programski kod na serveru bez prijave (udaljeno izvršavanje koda bez autentifikacije). Ranjivosti su ocijenjene sa CVSS v4.0: 9,2 (kritično).

KarakteristikaZnačenje
OznakeCVE-2026-109618 i CVE-2026-109619
OcjenaCVSS v4.0: 9,2 — kritično
PosljedicaIzvršavanje koda na serveru (Remote Code Execution) bez prijave
Uzrok 1Oštećenje memorije kada PHP-u tokom obrade ponestane radne memorije (Out-of-Memory)
Uzrok 2Zastarjelo globalno stanje koje ostaje u memoriji između zahtjeva
Posebno ugroženApache s modulom mod_php

Prema procjeni BSI-ja, u trenutku objavljivanja nije bilo potvrđenih napada, ali su postojale nepotvrđene naznake pokušaja iskorištavanja ranjivosti. Iskustvo pokazuje da se kod kritičnih ranjivosti u tako rasprostranjenom softveru može očekivati da će napadači analizirati ispravke i pripremati automatizirane napade. Zato je vrijeme za primjenu zakrpa kratko.

Ko je pogođen?

U načelu je pogođen svaki server na kojem radi PHP, bez obzira na način integracije PHP-a: PHP-FPM, mod_php u Apacheu, php-cgi, FrankenPHP ili LiteSpeed. Prema navodima tima za sigurnost PHP-a, rizik je najveći kod Apachea s modulom mod_php.

BSI izričito navodi aplikacije zasnovane na PHP-u koje zbog toga također mogu biti pogođene:

  • Sistemi za upravljanje sadržajem: WordPress, Drupal, TYPO3, Joomla
  • Sistemi za internetske prodavnice: Magento
  • Pohrana u oblaku i pohrana datoteka: Nextcloud
  • Upravljačka sučelja vatrozida: pfSense, OPNsense

Sama aplikacija ne mora imati grešku. Ranjivost se nalazi u PHP-u, pa samo ažuriranje aplikacija WordPress, Nextcloud & Co. nije dovoljno. Potrebno je ažurirati verziju PHP-a na serveru. Kod vatrozida kao što su pfSense i OPNsense, ispravljena verzija PHP-a dolazi kroz odgovarajuće ažuriranje firmvera proizvođača.

Ove verzije PHP-a su sigurne

Ranjivosti su otklonjene u sljedećim verzijama. Sve niže verzije smatraju se ranjivim.

Sigurne verzije PHP-a nakon otklanjanja ranjivosti CVE-2026-109618 i CVE-2026-109619: PHP 8.5.12, 8.4.27, 8.3.36 i 8.2.35

Grana PHP-aMinimalno potrebna verzijaNapomena
PHP 8.58.5.12aktuelna grana
PHP 8.48.4.27
PHP 8.38.3.36
PHP 8.28.2.35Podrška prestaje 31. decembra 2026.
PHP 8.1 i starije verzijenema službenog ažuriranja, pogledajte u nastavku

Kako provjeriti i ažurirati server

1. Utvrdite instaliranu verziju PHP-a

U komandnoj liniji servera naredba php -v prikazuje verziju PHP-a za komandnu liniju. Web server može koristiti drugu verziju PHP-a. Zato provjerite i verziju PHP-FPM-a odnosno Apache modula, naprimjer naredbom php-fpm8.3 -v ili putem stranice koja prikazuje izlaz funkcije phpinfo() (tu stranicu odmah nakon toga uklonite).

2. Instalirajte ažuriranje putem upravitelja paketa

Na distribucijama Debian, Ubuntu, RHEL i srodnim sistemima ispravljena verzija dostupna je putem standardnog upravitelja paketa, naprimjer naredbom apt update && apt upgrade ili dnf upgrade. U vanjskim izvorima paketa, kao što su Sury-PPA ili Remi repozitorij, novi paketi obično se pojavljuju ubrzo nakon objave.

3. Ponovo pokrenite PHP servis

Samo ažuriranje paketa nije dovoljno: aktivni PHP procesi zadržavaju stari kod u memoriji. Ponovo pokrenite PHP-FPM (systemctl restart php8.3-fpm) odnosno Apache (systemctl restart apache2), a zatim provjerite jesu li procesi pokrenuti nakon ažuriranja.

4. Web stranice na hostingu

Kod dijeljenog hostinga ažuriranje u pravilu obavlja pružalac usluge. U korisničkom panelu obično se može podesiti verzija PHP-a za svaku web stranicu. Tamo odaberite jednu od prethodno navedenih sigurnih verzija ili kod pružaoca usluge provjerite jesu li zakrpe primijenjene. Prema navodima BSI-ja, pojedini pružaoci usluga preventivno su isključili servere s mreže. Ako vaša stranica nakratko nije dostupna, to može biti razlog.

PHP 8.1 i starije verzije: nema službenog ažuriranja

Za PHP 8.1 i starije verzije više nema službenih sigurnosnih ažuriranja. Administratori takvih sistema imaju dvije mogućnosti:

  • Preći na podržanu verziju (preporučeno). Što je verzija starija, potrebno je više prilagođavanja aplikacije i proširenja, pa prelazak treba prethodno testirati.
  • Prenijeti ispravke u starije verzije. Tim za sigurnost PHP-a objavio je ispravke u razvojnim granama na GitHubu. Oni koji sami kompajliraju PHP mogu te izmjene prenijeti u starije verzije. To je privremeno rješenje i zahtijeva stručno znanje.

I PHP 8.2 podržan je još samo do 31. decembra 2026. Zato već sada planirajte prelazak na PHP 8.4 ili 8.5 i nemojte ga odgađati za kraj godine.

Privremene mjere i pitanje „Treba li isključiti server s mreže?“

Tim za sigurnost PHP-a u najavi je opisao i privremene zaštitne mjere. One smanjuju rizik, ali ne otklanjaju ranjivosti u potpunosti. Ne zamjenjuju ažuriranje i namijenjene su samo za period do njegove instalacije.

Treba li server do ažuriranja isključiti s mreže zavisi od njegove važnosti i dostupnosti. BSI navodi da su veliki pružaoci usluga poduzeli taj korak. Kao opće pravilo vrijedi:

  • Javno dostupan server, ažuriranje je moguće odmah: odmah primijenite zakrpe, isključivanje nije potrebno.
  • Javno dostupan server, ažuriranje nije moguće u kratkom roku: ograničite pristup (naprimjer vatrozidom samo na poznate adrese) ili privremeno isključite servis, posebno ako koristite mod_php.
  • Server dostupan samo unutar interne mreže: primijenite zakrpe uskoro, hitnost je manja.

Česta pitanja

Moram li ažurirati WordPress, Joomla ili Nextcloud?

Ne zbog ove ranjivosti. Ona se nalazi u PHP-u, a ne u aplikaciji. Ažurirajte verziju PHP-a na serveru. Nezavisno od toga, ažuriranje aplikacije svakako je korisno.

Kako mogu prepoznati je li neko već iskoristio ranjivost?

Teško je dati pouzdan odgovor. Znakovi za uzbunu su nepoznate PHP datoteke u web direktoriju, neuobičajeni procesi koji se izvršavaju pod korisničkim računom web servera, novi korisnički računi ili cron zadaci te neuobičajen odlazni mrežni saobraćaj. Ako postoji konkretna sumnja, sistem treba forenzički ispitati i, ako sumnja ostane, ponovo instalirati.

Je li vatrozid za web aplikacije dovoljan?

Vatrozid može zaustaviti poznate obrasce napada, ali nije zamjena za nadogradnju. Više o zajedničkom djelovanju više slojeva zaštite pročitajte u našem članku Zaštitite Odoo 19: vatrozid, 2FA & Web RBL. Ova načela vrijede za svaku web aplikaciju.

Je li Odoo pogođen?

Ne. Odoo je napisan u Pythonu i ne koristi PHP. Pogođene bi bile samo PHP aplikacije koje rade na istom serveru.

Gdje mogu pronaći službene informacije?

Objavu PHP sigurnosnog tima možete pronaći u arhivi vijesti na php.net (objava od 20. oktobra 2026), a verzije na php.net/downloads. Upozorenje BSI-ja nosi broj 2026-297981-1032 i objavljeno je na bsi.bund.de .

Podrška kompanije Biricon IT Services

Ako niste sigurni koja verzija PHP-a radi na vašem serveru ili vam je potrebna pomoć pri primjeni zakrpa, rado ćemo vam pomoći: pri popisu svih PHP sistema, instalaciji nadogradnji, prelasku na podržanu verziju PHP-a i provjeri eventualne kompromitacije. Kao pružalac IT usluga održavamo servere, vatrozide i web aplikacije za mala i srednja preduzeća.

Kontaktirajte nas sada

Stanje na dan: 21. oktobar 2026. Situacija se može brzo promijeniti; mjerodavne su objave PHP sigurnosnog tima i BSI-ja.