Aktuálna situácia: PHP2Shell. Dve kritické zraniteľnosti PHP (CVSS 9.2) umožňujú spustenie škodlivého kódu bez prihlásenia. Záplaty od 21. 10. 2026.Čo treba urobiť teraz →

Doloženie čísel CVE v changelogu balíka

Kto musí vedeniu, audítorom alebo poisťovateľom doložiť záplatu PHP, potrebuje viac než číslo verzie. Takto sa záznam v changelogu stane dokladom.

Stav 5 min čítaniaHosting a distribúcie

Stručne: Ak chcete v changelogu skontrolovať CVE, prehľadajte zoznam zmien nainštalovaného balíka PHP na CVE-2026-109618 a CVE-2026-109619: v Debiane a Ubuntu v /usr/share/doc/<paket>/changelog.Debian.gz, v systémoch RPM príkazom rpm -q --changelog. Nález spolu so stavom balíka, porovnaním s oficiálnym bezpečnostným hlásením a časom reštartu tvorí hodnoverný doklad. Chýbajúci nález ešte nie je dôkazom otvorenej zraniteľnosti.

Prečo je doklad viac než „zaplátali sme“

Po PHP2Shell chce mnoho ľudí vedieť, či sú ich servery bezpečné: vedenie firmy, zodpovedný pracovník pre ochranu údajov, zákazníci so spracovaním v mene prevádzkovateľa, niekedy aj poisťovateľ kybernetických rizík. „Zaplátali sme“ na to nestačí. Žiada sa doklad, ktorý dokáže overiť tretia strana.

Číslo verzie sa na to často nehodí, pretože distribúcie nasadzujú opravy ako backport a číslo ostáva rovnaké. Lepším základom je changelog balíka. Píše ho správca balíka a pri bezpečnostných aktualizáciách spravidla uvádza opravené čísla CVE.

Kde sú changelogy

Každý formát balíkov má vlastné miesto. Nasledujúci prehľad pomáha rýchlo nájsť to správne.

Systém Umiestnenie changelogu Príkaz na prehľadávanie
Debian, Ubuntu /usr/share/doc/<paket>/changelog.Debian.gz zgrep
Debian, Ubuntu (online) archív balíkov distribúcie apt changelog <paket>
RHEL, AlmaLinux, Rocky, Fedora databáza balíkov RPM rpm -q --changelog <paket>
Obrazy kontajnerov v obraze, rovnako ako v základnom systéme príkaz spustite v kontajneri

V Debiane a Ubuntu odkazuje adresár dokumentácie niektorých binárnych balíkov symbolickým odkazom na spoločný balík, napríklad php8.3-common. Ak zgrep súbor nenájde, pozrite si adresár príkazom ls -l /usr/share/doc/ | grep php.

Kontrola CVE v changelogu: postup

Nasledujúce príkazy sú výlučne čítacie. Názvy balíkov upravte podľa svojej inštalácie.

# Debian/Ubuntu: lokálne, bez siete
zgrep -n -E "CVE-2026-10961[89]|CVE-2026-115560" /usr/share/doc/php8.3-common/changelog.Debian.gz

# Debian/Ubuntu: hlavička najnovšieho záznamu so stavom balíka a dátumom
zcat /usr/share/doc/php8.3-common/changelog.Debian.gz | head -20

# Rodina RHEL: záznam vrátane dátumu a stavu balíka
rpm -q --changelog php-common | grep -n -B3 -E "CVE-2026-10961[89]"

V Debiane a Ubuntu je stav balíka v hlavičke každého záznamu a dátum v záverečnom riadku. V RPM sú obe informácie v riadku nad záznamami. Tak uvidíte nielen to, či je CVE spomenutá, ale aj pri akom stave balíka. Tento stav porovnajte s nainštalovaným, napríklad cez dpkg-query -W alebo rpm -q. Ak sa zhodujú, oprava je obsiahnutá v bežiacom balíku.

Balíky panelov a kontajnery

Hostingové panely, napríklad Plesk alebo cPanel, prinášajú vlastné balíky PHP. Aj tie sú bežnými balíkmi DEB alebo RPM a ich changelog sa dá čítať rovnakými nástrojmi. Či poskytovatelia v ňom uvádzajú čísla CVE, alebo len novú verziu PHP, sa líši. Ak balík uvádza verziu upstreamu 8.5.12, 8.4.27, 8.3.36 alebo 8.2.35, stačí to ako doklad; pri backportoch so starým číslom potrebujete vyjadrenie poskytovateľa.

Pri kontajneroch patrí doklad k obrazu, nie k hostiteľovi. Skontrolujte balíky v obraze, z ktorého sa spustil bežiaci kontajner, a navyše si zaznamenajte digest obrazu. Neskôr tak bude dohľadateľné, ktorý stav skutočne bežal, aj keď sa obraz pod tou istou značkou medzitým zostavil znova.

Ak CVE v changelogu chýba

Chýbajúci záznam môže mať viacero príčin. Prejdite ich v tomto poradí:

  1. Prehľadaný nesprávny balík: Pri viacerých vetvách alebo zdrojoch PHP na jednom serveri je odpoveď často v changelogu iného balíka.
  2. Verzia upstreamu namiesto CVE: Ak zdroj dodáva novú verziu upstreamu, napríklad 8.4.27, môže v changelogu stáť iba „New upstream version“. Vtedy je dôkazom samotné číslo verzie, pretože php.net uvádza verzie 8.5.12, 8.4.27, 8.3.36 a 8.2.35 ako opravené.
  3. Iná formulácia: Niektorí správcovia uvádzajú čísla chýb alebo identifikátory advisory, ako GHSA-w8hw-w9fx-j79w a GHSA-6wmf-4rv5-p3rp, namiesto CVE.
  4. Porovnanie s bezpečnostným hlásením: Ak oficiálne hlásenie vašej distribúcie, napríklad USN alebo Debian Security Tracker, uvádza opravený stav balíka a nainštalovaný je tento alebo novší, je to takisto doklad. Stavy pre Debian a Ubuntu nájdete v článku Je môj balík PHP zaplátaný?, pre rodinu RHEL v časti RHEL, AlmaLinux a Rocky Linux.
  5. Opýtať sa poskytovateľa: Pri balíkoch panelov, zostaveniach poskytovateľov hostingu alebo zdrojoch tretích strán pomôže len písomné vyjadrenie. Vzor ponúka sprievodca Ako sa opýtať poskytovateľa hostingu na stav záplat.

Ak po týchto krokoch nezostane žiadny doklad, považujte server za nezaplátaný a nastavte prechodné opatrenia, kým sa otázka nevyjasní.

Od nálezu k dokladu

Nález v changelogu dokazuje, že balík obsahuje opravu. Nedokazuje, že ju používajú bežiace procesy. Úplný doklad preto obsahuje päť údajov na každý server a inštaláciu PHP:

  • server, vetva PHP a spôsob prevádzky, napríklad PHP-FPM alebo mod_php
  • nainštalovaný stav balíka a zdroj balíka
  • miesto nálezu v changelogu alebo odkaz na oficiálne bezpečnostné hlásenie
  • čas aktualizácie a čas spustenia bežiacich procesov PHP
  • meno osoby, ktorá kontrolu vykonala, a dátum kontroly
Tip

Uložte surové výstupy príkazov ako textový súbor vedľa dokladu. Neskôr sa dajú overiť ľahšie než zhrnutie z pamäte.

Doklad odpovedá iba na otázku, či bola zraniteľnosť od určitého času uzavretá. Pre obdobie predtým potrebujete logy od 20. októbra 2026 a prípadne vyhľadávanie stôp. Všeobecný postup kontroly verzie opisuje stránka Ako správne skontrolovať verziu PHP a stav záplat.

Ako konkrétne pomáha PHP SOS?

  • Prehľadáme changelogy všetkých balíkov PHP na vašich serveroch a porovnáme ich s oficiálnymi bezpečnostnými hláseniami.
  • Tam, kde changelogy mlčia, vyjasníme stav s distribúciou, poskytovateľom panela alebo poskytovateľom hostingu.
  • Overíme, či sa bežiace procesy po aktualizácii reštartovali.
  • Prostredníctvom služby záplatovania PHP získate doklad ku každému serveru vo forme, ktorú môžete odovzdať tretím stranám.

Časté otázky

Prečo číslo verzie PHP nestačí ako doklad?

Mnohé distribúcie preberajú bezpečnostné opravy formou backportu bez zmeny verzie PHP. Číslo verzie vtedy o záplate nič nehovorí. Changelog nainštalovaného balíka naopak uvádza opravené čísla CVE.

Čo znamená, ak CVE v changelogu chýba?

Môže to znamenať, že oprava chýba. Môže však ísť aj o to, že správca balíka formuloval záznam inak, napríklad číslom chyby alebo verziou upstreamu. Vtedy porovnajte stav balíka s oficiálnym bezpečnostným hlásením alebo sa opýtajte poskytovateľa.

Ako dlho by som mal doklad uchovávať?

Kým môže byť relevantný pre interné kontroly, poisťovateľov alebo možné otázky ochrany údajov. Uložte ho spolu s logmi od 20. októbra 2026. Konkrétne lehoty vyjasnite so zodpovedným pracovníkom pre ochranu údajov alebo s právnym poradcom.

Môžem changelog skontrolovať aj bez prístupu na internet?

Áno. Debian a Ubuntu ukladajú changelog každého balíka lokálne pod /usr/share/doc, systémy RPM ho majú v databáze balíkov. Obe možnosti sa dajú čítať bez siete.

Zdroje

Okamžitý kontakt

Každá hodina sa počíta. Napíšte nám hneď.

Stručne opíšte systém, verziu PHP a svoje pozorovanie. Ozveme sa, vyjasníme situáciu a budeme pracovať na diaľku, kým nebude incident uzavretý a zdokumentovaný.

Okamžitá pomoc