Trenutno stanje: PHP2Shell. Dve kritični ranljivosti PHP (CVSS 9,2) omogočata izvedbo škodljive kode brez prijave. Popravki od 21. 10. 2026.Kaj je zdaj treba storiti →

CVE-2026-115560: opozorilo o session upload progress

CVE-2026-115560 je opozorilo php.net z dne 23. 10. 2026: možno izvajanje kode samo pri nenavadni konfiguraciji sej. Rešitev do naslednje izdaje: session.upload_progress.enabled=0.

Stanje 4 min branjaPHP2Shell

Na kratko: CVE-2026-115560 je opozorilo, ki ga je php.net objavil 23. oktobra 2026. Po njem je izvajanje kode na daljavo mogoče samo pri nenavadni konfiguraciji sej. Do naslednje redne izdaje s popravki napak je rešitev: session.upload_progress.enabled=0 nastaviti na strani strežnika in znova zagnati vse workerje.

Kaj je CVE-2026-115560?

Dva dni po popravkih za ranljivosti PHP2Shell CVE-2026-109618 in CVE-2026-109619 je projekt PHP objavil še eno opozorilo. CVE-2026-115560 zadeva obdelavo sej v PHP v povezavi s funkcijo session upload progress, ki napredek tekočih nalaganj datotek shranjuje v seji.

Po navedbah php.net je izvajanje škodljive kode na daljavo mogoče, vendar samo pri nenavadni konfiguraciji. Popolno varnostno obvestilo z vsemi podrobnostmi naj bi sledilo z naslednjo redno izdajo s popravki napak. Do takrat je stanje znanja namenoma skromno.

Kaj počne session upload progress?

Session upload progress je funkcija PHP za udobje. Ko obiskovalec naloži večjo datoteko, PHP med nalaganjem sproti zapisuje podatke o napredku v sejo: koliko podatkov je že prispelo in katera datoteka se trenutno prenaša. Aplikacija lahko te podatke vzporedno poizveduje in iz njih izdela indikator napredka.

V praksi to uporablja le malo aplikacij, ker sodobni obrazci za nalaganje napredek večinoma merijo neposredno v brskalniku. V PHP pa je funkcija privzeto vklopljena. Zato se pojavlja tako pri CVE-2026-115560 kot pri vmesnih ukrepih proti PHP2Shell: kar ni potrebno, naj bo izklopljeno.

Kdaj je strežnik prizadet zaradi CVE-2026-115560?

Po opozorilu php.net morajo biti izpolnjeni trije pogoji:

  1. V konfiguraciji je kot session.serialize_handler vpisana vrednost php_binary ali php_serialize.
  2. Aplikacija to vrednost med izvajanjem z ini_set() preklopi na php, preden pokliče session_start().
  3. Session upload progress je aktiven.

Privzeta vrednost za session.serialize_handler je php. Preklop v konfiguraciji in vrnitev v kodi je nenavadna, a se pojavlja pri zraslih lastnih razvojih ali knjižnicah z lastno obravnavo sej. Ali to velja za vas, je mogoče preveriti.

Tako preverite svojo konfiguracijo

Najprej veljavne vrednosti. CLI lahko bere drugo datoteko php.ini kot PHP-FPM ali mod_php; zato preverite tudi konfiguracijo spletnega strežnika ali poola FPM.

php -i | grep -E "session.serialize_handler|session.upload_progress.enabled"
grep -rn "serialize_handler\|upload_progress" /etc/php/ 2>/dev/null   # pot se razlikuje glede na distribucijo

Nato koda aplikacije. Naslednje iskanje je izključno bralno in pokaže mesta, kjer se handler nastavi med izvajanjem:

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

Če iskanje ne najde ničesar in je handler v konfiguraciji nastavljen na php, je opisana kombinacija malo verjetna. Session upload progress kljub temu izklopite, saj php.net isto nastavitev navaja tudi kot vmesni ukrep proti PHP2Shell.

Rešitev: session.upload_progress.enabled=0

Vrednost nastavite v php.ini, v poolu FPM ali v konfiguraciji strežnika. Po navedbah php.net izrecno ne prek ini_set() ali .user.ini, ker tam deluje prepozno ali jo aplikacija lahko prepiše.

; php.ini (za vse poole in SAPI, ki to datoteko berejo)
session.upload_progress.enabled = 0

; ali v poolu FPM
php_admin_flag[session.upload_progress.enabled] = off
# Apache z mod_php, v VirtualHost ali v konfiguraciji strežnika
php_admin_flag session.upload_progress.enabled off

Nato znova zaženite vse workerje PHP, na primer z systemctl restart php8.3-fpm ali pri mod_php z Apachejem. Imena paketov in storitev se po distribuciji razlikujejo. Brez ponovnega zagona stara nastavitev teče naprej. Več o tem na strani Ponovni zagon PHP-FPM in vseh workerjev.

Nasvet

Po ponovnem zagonu preverite, ali nastavitev res deluje: v spletnem kontekstu, ne samo v ukazni vrstici. Na kratko vzpostavljena, z dostopom zaščitena stran phpinfo pokaže veljavno vrednost; po tem jo takoj izbrišite.

Uvrstitev ob PHP2Shell

CVE-2026-115560 je občutno ožja kot obe ranljivosti PHP2Shell, ki delujeta v običajnih načinih delovanja brez posebne konfiguracije. Kdor mora določiti prednostne naloge, naj najprej namesti posodobitev PHP2Shell in nato nastavi session.upload_progress.enabled=0. Oboje je izvedljivo v enem oknu vzdrževanja.

Za vodstvo in netehnike: CVE-2026-115560 ni razlog za vznemirjenje, je pa točka na seznamu. Nastavitev je hitro narejena, komaj kakšno aplikacijo občutno prizadene in hkrati pokriva enega od vmesnih ukrepov proti PHP2Shell. Nadaljnji vmesni ukrepi php.net so na strani Takojšnji ukrepi, če še ne morete popraviti, splošni napotki za konfiguracijo sej pa na strani Zavarovanje sej v PHP.

Česa še ne vemo: katere različice PHP so natančno prizadete in katera izdaja prinese popravek. To stran bomo posodobili, ko bo varnostno obvestilo objavljeno.

Kako konkretno pomaga PHP SOS?

V okviru utrjevanja strežnika rešitev uvedemo trajno in preverljivo:

  • Prebrati konfiguracijo: veljavne vrednosti sej za vsak SAPI, pool in virtualni gostitelj.
  • Preiskati kodo: mesta, kjer se handler ali možnosti sej med izvajanjem spreminjajo.
  • Izklop na pravem mestu: v php.ini, poolu ali konfiguraciji strežnika, aplikacija ga ne more prepisati, s poznejšim ponovnim zagonom.
  • Spremljati: ko izide izdaja s popravkom napake, jo namestimo in dokumentiramo stanje.

Pogosta vprašanja

Ali je CVE-2026-115560 del PHP2Shell?

Opozorilo je prišlo dva dni po popravkih PHP2Shell in prav tako zadeva sam PHP. Vendar je samostojna ranljivost z lastno številko CVE in deluje samo pri določeni, nenavadni konfiguraciji. Posodobitve PHP2Shell z dne 21. oktobra je po dosedanjem stanju ne odpravljajo.

Ali že obstaja posodobitev proti CVE-2026-115560?

Po stanju z dne 25. 10. 2026 ne. php.net napoveduje, da bo popolno varnostno obvestilo sledilo z naslednjo redno izdajo s popravki napak. Do takrat je priporočena rešitev session.upload_progress.enabled=0.

Kaj se pokvari, če izklopim session upload progress?

Funkcija sporoča napredek tekočih nalaganj datotek aplikaciji. Prikaz izgubijo samo aplikacije, ki tak indikator napredka izvajajo prek te funkcije PHP. Nalaganje samo še naprej deluje.

Viri

Takojšnji stik

Vsaka ura šteje. Pišite nam zdaj.

Na kratko opišite sistem, različico PHP in opažanje. Odzovemo se, razjasnimo stanje in delamo na daljavo, dokler incident ni zaključen in dokumentiran.

Takojšnja pomoč