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 →

Dokazati CVE brojeve u changelogu paketa

Tko upravi, revizorima ili osigurateljima mora dokazati PHP zakrpu, treba više od broja verzije. Evo kako unos u changelogu postaje dokaz.

Stanje 5 min čitanjaHosting i distribucije

Ukratko: Da biste u changelogu provjerili CVE, pretražite zapisnik promjena instaliranog PHP paketa tražeći CVE-2026-109618 i CVE-2026-109619: na Debianu i Ubuntuu u /usr/share/doc/<paket>/changelog.Debian.gz, na RPM sustavima naredbom rpm -q --changelog. Pogodak zajedno sa stanjem paketa, usporedbom sa službenom sigurnosnom objavom i vremenom ponovnog pokretanja daje uvjerljiv dokaz. Nedostatak pogotka još nije dokaz otvorene ranjivosti.

Zašto je dokaz više od „zakrpali smo“

Nakon PHP2Shella mnogi žele znati jesu li njihovi poslužitelji sigurni: uprava, službenik za zaštitu podataka, klijenti s ugovorom o obradi, ponekad i kibernetički osiguravatelj. „Zakrpali smo“ za to je premalo. Traži se dokaz koji treća strana može provjeriti.

Broj verzije za to često ne vrijedi jer distribucije ispravke ugrađuju kao backport, a broj ostaje isti. Bolja je osnova changelog paketa. Piše ga održavatelj paketa, a kod sigurnosnih ažuriranja u pravilu navodi otklonjene CVE brojeve.

Gdje se nalaze changelogi

Svaki format paketa ima svoje mjesto. Sljedeći pregled pomaže da brzo dođete do pravog.

Sustav Mjesto changeloga Naredba za pretraživanje
Debian, Ubuntu /usr/share/doc/<paket>/changelog.Debian.gz zgrep
Debian, Ubuntu (online) arhiv paketa distribucije apt changelog <paket>
RHEL, AlmaLinux, Rocky, Fedora baza podataka RPM paketa rpm -q --changelog <paket>
Kontejnerski image-i u image-u, kao kod osnovnog sustava izvršiti naredbu u kontejneru

Na Debianu i Ubuntuu direktorij dokumentacije nekih binarnih paketa simboličkom vezom upućuje na zajednički paket, primjerice php8.3-common. Ako zgrep ne pronađe datoteku, pogledajte direktorij naredbom ls -l /usr/share/doc/ | grep php.

Provjera CVE u changelogu: kako postupiti

Sljedeće naredbe samo čitaju. Nazive paketa prilagodite svojoj instalaciji.

# Debian/Ubuntu: lokalno, bez mreže
zgrep -n -E "CVE-2026-10961[89]|CVE-2026-115560" /usr/share/doc/php8.3-common/changelog.Debian.gz

# Debian/Ubuntu: zaglavlje najnovijeg unosa sa stanjem paketa i datumom
zcat /usr/share/doc/php8.3-common/changelog.Debian.gz | head -20

# RHEL obitelj: unos zajedno s datumom i stanjem paketa
rpm -q --changelog php-common | grep -n -B3 -E "CVE-2026-10961[89]"

Na Debianu i Ubuntuu stanje paketa stoji u zaglavlju svakog unosa, a datum u završnom retku. Kod RPM-a oboje stoji u retku iznad unosa. Tako vidite ne samo je li CVE spomenut, nego i s kojim stanjem paketa. Usporedite to stanje s instaliranim, primjerice putem dpkg-query -W ili rpm -q. Ako se oba podudaraju, ispravak je sadržan u paketu koji radi.

Paketi panela i kontejneri

Hosting paneli donose vlastite PHP pakete, primjerice Plesk ili cPanel. I to su uobičajeni DEB ili RPM paketi, a njihov changelog može se čitati istim alatima. Navode li pružatelji u njemu CVE brojeve ili samo novu PHP verziju, razlikuje se. Ako paket navodi upstream verziju 8.5.12, 8.4.27, 8.3.36 ili 8.2.35, to je dovoljno kao dokaz; kod backportova sa starim brojem treba Vam informacija pružatelja.

Kod kontejnera dokaz pripada image-u, a ne hostu. Provjerite pakete u image-u iz kojeg je pokrenut aktivni kontejner i dodatno zabilježite image digest. Tako se kasnije može pratiti koje je stanje doista radilo, čak i ako je image pod istim tagom u međuvremenu ponovno izgrađen.

Ako CVE u changelogu nedostaje

Nedostajući unos može imati više uzroka. Prođite ih ovim redoslijedom:

  1. Pretražen krivi paket: Kod više PHP grana ili izvora na jednom poslužitelju odgovor je često u changelogu drugog paketa.
  2. Upstream verzija umjesto CVE-a: Ako izvor isporučuje novu upstream verziju, primjerice 8.4.27, u changelogu pod određenim uvjetima stoji samo „New upstream version“. Tada je sam broj verzije dokaz jer php.net verzije 8.5.12, 8.4.27, 8.3.36 i 8.2.35 navodi kao ispravljene.
  3. Drukčija formulacija: Neki održavatelji navode brojeve bugova ili oznake objava poput GHSA-w8hw-w9fx-j79w i GHSA-6wmf-4rv5-p3rp umjesto CVE-a.
  4. Usporedba sa sigurnosnom objavom: Ako službena objava Vaše distribucije, primjerice USN ili Debian Security Tracker, navodi ispravljeno stanje paketa, a instalirano je to ili novije, i to je dokaz. Stanja za Debian i Ubuntu nalaze se u članku Je li moj PHP paket zakrpan?, a za RHEL obitelj pod RHEL, AlmaLinux i Rocky Linux.
  5. Pitati pružatelja: Kod paketa panela, buildova hostera ili izvora trećih strana pomaže samo pisana informacija. Predložak nudi vodič Pitati hostera za stanje zakrpe.

Ako nakon tih koraka dokaza nema, poslužitelj tretirajte kao nezakrpan i postavite privremene mjere dok pitanje ne bude razjašnjeno.

Od pogotka do dokaza

Pogodak u changelogu dokazuje da paket sadrži ispravak. Ne dokazuje da ga pokrenuti procesi doista koriste. Potpun dokaz stoga sadrži pet podataka po poslužitelju i PHP instalaciji:

  • poslužitelj, PHP grana i način rada, primjerice PHP-FPM ili mod_php
  • instalirano stanje paketa i izvor paketa
  • mjesto u changelogu ili poveznica na službenu sigurnosnu objavu
  • vrijeme ažuriranja i vrijeme pokretanja aktivnih PHP procesa
  • ime osobe koja je provjeru obavila i datum provjere
Savjet

Sirove ispise naredbi spremite kao tekstualnu datoteku uz dokaz. Kasnije ih je lakše pratiti nego sažetak iz sjećanja.

Dokaz odgovara samo na pitanje je li ranjivost od određenog trenutka bila zatvorena. Za vrijeme prije toga trebaju Vam zapisnici od 20. listopada 2026. i, prema potrebi, traženje tragova. Opći tijek provjere verzije opisuje stranica Ispravno provjeriti PHP verziju i razinu zakrpe.

Kako PHP SOS konkretno pomaže?

  • Pretražujemo changelogove svih PHP paketa na Vašim poslužiteljima i uspoređujemo ih sa službenim sigurnosnim objavama.
  • Gdje changelogovi šute, stanje razjašnjavamo s distribucijom, pružateljem panela ili hosterom.
  • Kontroliramo jesu li aktivni procesi nakon ažuriranja ponovno pokrenuti.
  • Uz PHP uslugu zakrpa dokaz po poslužitelju dobivate u obliku koji možete proslijediti trećima.

Česta pitanja

Zašto broj PHP verzije ne služi kao dokaz?

Mnoge distribucije sigurnosne ispravke preuzimaju kao backport, a da ne mijenjaju PHP verziju. Broj verzije tada ništa ne govori o zakrpi. Changelog instaliranog paketa, nasuprot tome, navodi otklonjene CVE brojeve.

Što znači ako CVE nedostaje u changelogu?

To može značiti da ispravak nedostaje. No moguće je i da je održavatelj paketa to formulirao drukčije, primjerice brojem buga ili upstream verzijom. Tada stanje paketa usporedite sa službenom sigurnosnom objavom ili pitajte pružatelja.

Koliko dugo trebam čuvati dokaz?

Dokle god može biti važan za interne provjere, osigurateljeve upite ili moguća pitanja zaštite podataka. Pohranite ga zajedno sa zapisnicima od 20. listopada 2026. Konkretne rokove razjasnite sa službenikom za zaštitu podataka ili pravnim savjetnikom.

Mogu li changelog provjeriti i bez pristupa internetu?

Da. Debian i Ubuntu changelog svakog paketa drže lokalno pod /usr/share/doc, a RPM sustavi ga pohranjuju u bazi podataka paketa. Oboje se može čitati bez mreže.

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ć