Otkrivene kritične PHP ranjivosti ‘php2shell’: Pogođene verzije od 5.4, nužno hitno ažuriranje

PHP ranjivost
Foto: Canva

PHP projekt je 21. listopada ispravio dvije kritične sigurnosne ranjivosti, CVE-2026-109618 i CVE-2026-109619, koje su zajednički nazvane ‘php2shell’. Obje ranjivosti imaju ocjenu 9.2 od 10 prema sustavu za bodovanje ranjivosti (CVSS), a njihovi detalji su procurili u javnost prije planirane objave ispravka, što je dovelo do cirkulacije koda za iskorištavanje propusta i prije dostupnosti zakrpe.

Hosting tvrtke, uključujući Hostinger, blokirale su pokušaje iskorištavanja i implementiraju ažuriranja PHP-a na svojim platformama. Korisnicima koji samostalno upravljaju svojim poslužiteljima preporučuje se hitno djelovanje.

Detalji o ranjivostima ‘php2shell’

Oba sigurnosna propusta povezana su s načinom na koji PHP upravlja memorijom prilikom neuspješnih zahtjeva. U najgorem scenariju, napadač bi mogao izvršiti vlastiti kod na poslužitelju, pristupiti podacima kojima ne bi smio imati pristup ili uzrokovati nedostupnost web stranice.

Tehnički opis propusta

Specifični problemi koji dovode do ranjivosti su:

  • CVE-2026-109618: Ranjivost se aktivira kada zahtjev dosegne memorijsko ograničenje PHP-a u točno određenom trenutku. PHP prekida proces na pola, ostavljajući neke podatke djelomično izgrađenima, koje kasnije tretira kao potpune, što otvara prostor za napad.
  • CVE-2026-109619: Dolazi do prekida zahtjeva zbog greške, pri čemu PHP zadržava memoriju koja je već oslobođena. Sljedeći zahtjev koji obrađuje isti proces može pristupiti tim zaostalim podacima u memoriji.

Pogođene verzije PHP-a i platforme

Ranjivost pogađa sve verzije PHP-a prije 8.5.12, 8.4.27, 8.3.36 i 8.2.35. Problem seže unatrag najmanje do verzije PHP 5.4, što znači da su ugrožene gotovo sve web stranice koje koriste PHP, uključujući one temeljene na platformama kao što su WordPress, WooCommerce i Magento.

Budući da se propust nalazi u samoj jezgri PHP-a, ažuriranje WordPressa, tema ili dodataka neće riješiti problem. Jedino rješenje je instalacija ispravljene verzije PHP-a na poslužitelju.

Poduzete mjere i preporuke za korisnike

Hosting provideri su implementirali sigurnosna pravila za blokiranje poznatih obrazaca napada i ažurirali svoje vatrozide (firewall). Na primjer, Hostinger je na svojim poslužiteljima s ModSecurity vatrozidom aktivirao pravila koja odbijaju sve sumnjive zahtjeve.

Također je isključena opcija session.upload_progress na LiteSpeed, PHP Selector i cPanel PHP-FPM postavkama, kao i na phpMyAdminu, čime se zatvara jedan od poznatih vektora napada za CVE-2026-109619. Nakon što je PHP projekt objavio ispravljene verzije, započela je njihova distribucija na hosting platforme.

Upute za korisnike ovisno o vrsti hostinga

Za korisnike upravljanih (managed) hosting planova, provideri automatski instaliraju potrebne zakrpe i nije potrebna nikakva akcija. Korisnici mogu provjeriti status ažuriranja na svojim korisničkim sučeljima.

Korisnici koji samostalno upravljaju PHP-om na VPS (Virtual Private Server) poslužiteljima moraju hitno djelovati:

  • Ažurirajte PHP na verziju 8.5.12, 8.4.27, 8.3.36 ili 8.2.35. Ovo je jedino potpuno rješenje.
  • Ako ažuriranje nije odmah moguće, kao privremenu mjeru postavite session.upload_progress.enabled = Off u php.ini datoteci ili konfiguraciji PHP-FPM poola te ponovno pokrenite sve PHP procese. Ova mjera blokira samo jedan od dva propusta.
  • Ograničite prijenos datoteka (uploads) i postavite razumne limite na veličinu datoteka kako biste smanjili rizik.

Status starijih PHP verzija

Verzije PHP 8.1 i starije više ne primaju službene sigurnosne ispravke od PHP projekta. Ipak, korisnici na upravljanim hosting platformama često su zaštićeni jer provideri osiguravaju zakrpe i za starije verzije. Unatoč tome, preporučuje se nadogradnja na noviju, podržanu verziju PHP-a. Verzija PHP 8.2 prestat će primati sigurnosne ispravke 31. prosinca 2026. godine.

Nadogradnja PHP verzije obično se može izvršiti putem korisničkog sučelja hosting providera. Prije nadogradnje potrebno je provjeriti kompatibilnost tema i dodataka s novom verzijom.

Info

Koje su PHP verzije pogođene ranjivostima ‘php2shell’?

Pogođene su sve PHP verzije prije 8.5.12, 8.4.27, 8.3.36 i 8.2.35, što uključuje i starije verzije sve do PHP 5.4.

Je li dovoljno ažurirati WordPress ili pluginove kako bih se zaštitio?

Ne, ažuriranje WordPressa, tema ili pluginova neće riješiti problem. Ranjivost se nalazi u samom PHP-u, stoga je jedino rješenje ažuriranje PHP-a na poslužitelju.

Što trebam učiniti ako koristim VPS poslužitelj?

Potrebno je hitno ažurirati PHP na jednu od ispravljenih verzija (8.5.12, 8.4.27, 8.3.36 ili 8.2.35). Kao privremena mjera, može se isključiti ‘session.upload_progress.enabled’ u php.ini datoteci i ponovno pokrenuti PHP procese.