Trenutno stanje: PHP2Shell. Dvije kritične PHP ranjivosti (CVSS 9.2) omogućuju zlonamjerni kod bez prijave. Zakrpe od 21. 10. 2026.Što sada učiniti →

CVE-2026-115560: napomena o Session Upload Progressu

CVE-2026-115560 je napomena php.net-a od 23. 10. 2026.: moguće izvršavanje koda samo kod neuobičajene konfiguracije sesija. Mjera do sljedećeg izdanja: session.upload_progress.enabled=0.

Stanje 4 min čitanjaPHP2Shell

Ukratko: CVE-2026-115560 je napomena koju je php.net objavio 23. listopada 2026. Izvršavanje koda izdaleka prema njoj je moguće samo kod neuobičajene konfiguracije sesija. Do sljedećeg redovitog izdanja s ispravcima pogrešaka mjera glasi: postaviti session.upload_progress.enabled=0 na strani poslužitelja i ponovno pokrenuti sve workere.

Što je CVE-2026-115560?

Dva dana nakon zakrpa za PHP2Shell ranjivosti CVE-2026-109618 i CVE-2026-109619 PHP projekt objavio je još jednu napomenu. CVE-2026-115560 odnosi se na PHP-ovu obradu sesija u vezi s funkcijom Session Upload Progress, koja napredak tekućih prijenosa datoteka sprema u sesiju.

Prema php.net-u moguće je izvršavanje zlonamjernog koda izdaleka, ali samo kod neuobičajene konfiguracije. Cjelovit advisory sa svim pojedinostima trebao bi uslijediti sa sljedećim redovitim izdanjem s ispravcima pogrešaka. Do tada je razina znanja namjerno oskudna.

Što radi Session Upload Progress?

Session Upload Progress je PHP-ova funkcija radi udobnosti. Kad posjetitelj prenosi veću datoteku, PHP tijekom prijenosa neprestano upisuje podatke o napretku u sesiju: koliko je podataka već stiglo i koja se datoteka upravo prenosi. Aplikacija može paralelno dohvaćati te podatke i iz njih izraditi traku napretka.

U praksi to koristi samo nekoliko aplikacija jer moderni obrasci za prijenos napredak obično mjere izravno u pregledniku. U PHP-u je funkcija ipak zadano uključena. Zato se pojavljuje i kod CVE-2026-115560 i kod privremenih mjera protiv PHP2Shella: što se ne koristi, trebalo bi biti isključeno.

Kada je poslužitelj pogođen CVE-2026-115560?

Prema napomeni php.net-a moraju se podudariti tri uvjeta:

  1. U konfiguraciji je kao session.serialize_handler upisana vrijednost php_binary ili php_serialize.
  2. Aplikacija tu vrijednost za vrijeme rada putem ini_set() prebacuje na php prije nego što pozove session_start().
  3. Session Upload Progress je aktivan.

Zadana vrijednost session.serialize_handler je php. Promjena u konfiguraciji i vraćanje u kodu neuobičajeni su, ali se pojavljuju u razvijenim vlastitim razvojima ili kod biblioteka s vlastitom obradom sesija. Odnosi li se to na Vas, može se provjeriti.

Ovako provjerite svoju konfiguraciju

Prvo djelotvorne vrijednosti. CLI može čitati drugi php.ini od PHP-FPM-a ili mod_php; zato provjerite i konfiguraciju web-poslužitelja ili FPM poola.

php -i | grep -E "session.serialize_handler|session.upload_progress.enabled"
grep -rn "serialize_handler\|upload_progress" /etc/php/ 2>/dev/null   # putanja se razlikuje ovisno o distribuciji

Zatim kod aplikacije. Sljedeće pretraživanje je isključivo čitajuće i pokazuje mjesta na kojima se handler postavlja za vrijeme rada:

grep -rn "session.serialize_handler" /var/www/ --include="*.php"

Ako pretraga ništa ne nađe, a handler je u konfiguraciji postavljen na php, opisana kombinacija je malo vjerojatna. Session Upload Progress ipak biste trebali isključiti jer php.net istu postavku navodi i kao privremenu mjeru protiv PHP2Shella.

Mjera: session.upload_progress.enabled=0

Postavite vrijednost u php.ini, u FPM poolu ili u konfiguraciji poslužitelja. Prema php.net-u izričito ne putem ini_set() ili .user.ini, jer tamo djeluje prekasno ili je aplikacija može nadjačati.

; php.ini (za sve poolove i SAPI-je koji čitaju ovu datoteku)
session.upload_progress.enabled = 0

; ili u FPM poolu
php_admin_flag[session.upload_progress.enabled] = off
# Apache s mod_php, u VirtualHostu ili u konfiguraciji poslužitelja
php_admin_flag session.upload_progress.enabled off

Zatim ponovno pokrenite sve PHP workere, primjerice systemctl restart php8.3-fpm ili Apache kod mod_php. Nazivi paketa i usluga razlikuju se po distribuciji. Bez ponovnog pokretanja stara postavka i dalje vrijedi. Više na stranici Ponovno pokretanje PHP-FPM-a i svih workera.

Savjet

Nakon ponovnog pokretanja provjerite djeluje li postavka doista: u web kontekstu, a ne samo u naredbenom retku. Nakratko postavljena, zaštićena phpinfo stranica pokazuje djelotvornu vrijednost; nakon toga je odmah obrišite.

Procjena uz PHP2Shell

CVE-2026-115560 je znatno uži od dviju PHP2Shell ranjivosti, koje djeluju u uobičajenim načinima rada bez posebne konfiguracije. Tko mora odrediti prioritete, trebao bi prvo instalirati PHP2Shell ažuriranje, a zatim postaviti session.upload_progress.enabled=0. Oboje je izvedivo u jednom prozoru za održavanje.

Za upravu i netehničke osobe: CVE-2026-115560 nije razlog za uznemirenost, ali je točka na popisu. Postavka se brzo podešava, jedva utječe na ijednu aplikaciju i istodobno pokriva jednu od privremenih mjera protiv PHP2Shella. Ostale privremene mjere php.net-a nalaze se na stranici Hitne mjere ako još ne možete zakrpati, a opće napomene o konfiguraciji sesija u Osiguravanje sesija u PHP-u.

Što još ne znamo: koje su točno verzije PHP-a pogođene i koje izdanje donosi ispravak. Ovu ćemo stranicu ažurirati čim advisory izađe.

Kako PHP SOS konkretno pomaže?

U sklopu ojačavanja poslužitelja mjeru provodimo trajno i provjerljivo:

  • Pročitati konfiguraciju: djelotvorne vrijednosti sesija po SAPI-ju, poolu i virtualnom hostu.
  • Pretražiti kod: mjesta na kojima se handler ili opcije sesija mijenjaju za vrijeme rada.
  • Isključiti na pravom mjestu: u php.ini, poolu ili konfiguraciji poslužitelja, bez mogućnosti da ih aplikacija nadjača, uz naknadno ponovno pokretanje.
  • Pratiti: kad izađe izdanje s ispravkom, instaliramo ga i dokumentiramo stanje.

Česta pitanja

Je li CVE-2026-115560 dio PHP2Shella?

Objava je stigla dva dana nakon PHP2Shell zakrpa i također se odnosi na sam PHP. No to je zasebna ranjivost s vlastitim CVE brojem i djeluje samo kod određene, neuobičajene konfiguracije. PHP2Shell ažuriranja od 21. listopada je prema dosadašnjem stanju ne otklanjaju.

Postoji li već ažuriranje protiv CVE-2026-115560?

Prema stanju od 25. 10. 2026. ne. php.net najavljuje da će cjelovit advisory slijediti sa sljedećim redovitim izdanjem s ispravcima pogrešaka. Do tada je preporučena mjera session.upload_progress.enabled=0.

Što se pokvari ako isključim Session Upload Progress?

Funkcija aplikaciji javlja napredak tekućih prijenosa datoteka. Prikaz gube samo aplikacije koje takvu traku napretka izvode putem ove PHP funkcije. Sam prijenos i dalje radi.

Izvori

Hitni kontakt

Svaki sat se računa. Pišite nam odmah.

Ukratko opišite sustav, verziju PHP-a i opažanje. Javit ćemo Vam se, razjasniti situaciju i raditi na daljinu dok incident nije zaključen i dokumentiran.

Hitna pomoć