Dabartinė padėtis: PHP2Shell. Du kritiniai PHP pažeidžiamumai (CVSS 9,2) leidžia vykdyti kenkėjišką kodą be prisijungimo. Pataisos nuo 2026-10-21.Ką dabar daryti →

CVE numerių įrodymas paketo pakeitimų žurnale

Kas turi PHP pataisą įrodyti vadovybei, auditoriams ar draudikams, tam reikia daugiau nei versijos numerio. Štai kaip pakeitimų žurnalo įrašas tampa įrodymu.

Būsena 5 min. skaitymoHostingas ir distribucijos

Trumpai: norėdami patikrinti CVE pakeitimų žurnale, įdiegto PHP paketo pakeitimų protokole ieškokite CVE-2026-109618 ir CVE-2026-109619: Debian ir Ubuntu sistemose faile /usr/share/doc/<paket>/changelog.Debian.gz, RPM sistemose komanda rpm -q --changelog. Radinys kartu su paketo versija, palyginimu su oficialiu saugumo pranešimu ir paleidimo iš naujo laiku yra patikimas įrodymas. Nerastas įrašas dar nėra įrodymas, kad pažeidžiamumas neuždarytas.

Kodėl įrodymas yra daugiau nei „mes pataisėme“

Po PHP2Shell daugelis nori žinoti, ar jų serveriai saugūs: vadovybė, duomenų apsaugos pareigūnas, klientai pagal duomenų tvarkymo sutartį, kartais ir kibernetinės rizikos draudikas. Vien „mes pataisėme“ tam per mažai. Reikia įrodymo, kurį gali patikrinti trečioji šalis.

Versijos numeris tam dažnai netinka, nes distribucijos pataisas perkelia atgaliniu perkėlimu (backport), o numeris lieka toks pats. Geresnis pagrindas yra paketo pakeitimų žurnalas. Jį rašo paketo prižiūrėtojas, o saugumo atnaujinimų atveju jame paprastai išvardyti ištaisytų pažeidžiamumų CVE numeriai.

Kur saugomi pakeitimų žurnalai

Kiekvienas paketų formatas turi savo vietą. Toliau pateikta apžvalga padeda greitai rasti reikiamą.

Sistema Pakeitimų žurnalo vieta Paieškos komanda
Debian, Ubuntu /usr/share/doc/<paket>/changelog.Debian.gz zgrep
Debian, Ubuntu (internetu) distribucijos paketų archyvas apt changelog <paket>
RHEL, AlmaLinux, Rocky, Fedora RPM paketų duomenų bazė rpm -q --changelog <paket>
Konteinerių atvaizdai (images) atvaizdo viduje, kaip ir bazinėje sistemoje vykdyti komandą konteineryje

Debian ir Ubuntu sistemose kai kurių dvejetainių paketų dokumentacijos katalogas simboline nuoroda rodo į bendrą paketą, pavyzdžiui, php8.3-common. Jei zgrep failo neranda, peržiūrėkite katalogą komanda ls -l /usr/share/doc/ | grep php.

CVE patikra pakeitimų žurnale: kaip elgtis

Toliau pateiktos komandos tik skaito. Paketų pavadinimus pritaikykite savo diegimui.

# Debian/Ubuntu: vietoje, be tinklo
zgrep -n -E "CVE-2026-10961[89]|CVE-2026-115560" /usr/share/doc/php8.3-common/changelog.Debian.gz

# Debian/Ubuntu: naujausio įrašo antraštė su paketo versija ir data
zcat /usr/share/doc/php8.3-common/changelog.Debian.gz | head -20

# RHEL šeima: įrašas su data ir paketo versija
rpm -q --changelog php-common | grep -n -B3 -E "CVE-2026-10961[89]"

Debian ir Ubuntu sistemose paketo versija nurodyta kiekvieno įrašo antraštėje, o data baigiamojoje eilutėje. RPM atveju abu duomenys yra eilutėje virš įrašų. Taip matote ne tik tai, ar CVE paminėta, bet ir su kokia paketo versija. Palyginkite šią versiją su įdiegtąja, pavyzdžiui, komandomis dpkg-query -W arba rpm -q. Jei abi sutampa, pataisa yra veikiančiame pakete.

Valdymo skydelių paketai ir konteineriai

Hostingo valdymo skydeliai, pavyzdžiui, Plesk ar cPanel, pateikia savo PHP paketus. Tai taip pat paprasti DEB ar RPM paketai, jų pakeitimų žurnalą galima skaityti tais pačiais įrankiais. Ar teikėjai jame nurodo CVE numerius, ar tik naują PHP versiją, skiriasi. Jei pakete nurodyta pirminė versija 8.5.12, 8.4.27, 8.3.36 ar 8.2.35, to pakanka kaip įrodymo; atgalinio perkėlimo atveju su sena numeracija reikia teikėjo atsakymo.

Konteinerių atveju įrodymas priklauso atvaizdui (image), o ne pagrindiniam kompiuteriui. Patikrinkite paketus atvaizde, iš kurio paleistas veikiantis konteineris, ir papildomai užfiksuokite atvaizdo santrauką (digest). Taip vėliau galima atsekti, kuri versija iš tikrųjų veikė, net jei atvaizdas su ta pačia žyme tuo tarpu buvo sukurtas iš naujo.

Kai CVE pakeitimų žurnale nėra

Trūkstamas įrašas gali turėti kelias priežastis. Peržiūrėkite jas šia tvarka:

  1. Ieškota ne tame pakete: kai serveryje yra kelios PHP šakos ar šaltiniai, atsakymas dažnai yra kito paketo pakeitimų žurnale.
  2. Pirminė versija vietoj CVE: jei šaltinis pateikia naują pirminę versiją, pavyzdžiui, 8.4.27, pakeitimų žurnale kartais parašyta tik „New upstream version“. Tuomet pati versijos numeris yra įrodymas, nes php.net kaip ištaisytas nurodo versijas 8.5.12, 8.4.27, 8.3.36 ir 8.2.35.
  3. Kitoks formulavimas: kai kurie prižiūrėtojai vietoj CVE nurodo klaidų numerius ar pranešimų identifikatorius, tokius kaip GHSA-w8hw-w9fx-j79w ir GHSA-6wmf-4rv5-p3rp.
  4. Palyginimas su saugumo pranešimu: jei jūsų distribucijos oficialiame pranešime, pavyzdžiui, USN ar Debian Security Tracker, nurodyta ištaisyta paketo versija ir įdiegta ši ar naujesnė, tai taip pat yra įrodymas. Debian ir Ubuntu versijas rasite straipsnyje Ar mano PHP paketas pataisytas?, RHEL šeimos versijas puslapyje RHEL, AlmaLinux ir Rocky Linux.
  5. Paklausti teikėjo: valdymo skydelių paketų, hostingo teikėjo kūrinių ar trečiųjų šalių šaltinių atveju padeda tik rašytinis atsakymas. Šabloną rasite vadove Paklausti hostingo teikėjo apie pataisų būseną.

Jei po šių žingsnių įrodymo nerandama, serverį laikykite nepataisytu ir taikykite pereinamąsias priemones, kol klausimas bus išspręstas.

Nuo radinio iki įrodymo

Radinys pakeitimų žurnale įrodo, kad pakete yra pataisa. Jis neįrodo, kad ją naudoja veikiantys procesai. Todėl pilnas įrodymas apima penkis duomenis kiekvienam serveriui ir PHP diegimui:

  • serveris, PHP šaka ir veikimo režimas, pavyzdžiui, PHP-FPM ar mod_php
  • įdiegta paketo versija ir paketo šaltinis
  • radimo vieta pakeitimų žurnale arba nuoroda į oficialų saugumo pranešimą
  • atnaujinimo laikas ir veikiančių PHP procesų paleidimo laikas
  • tikrinusio asmens vardas ir patikros data
Patarimas

Komandų neapdorotą išvestį išsaugokite tekstiniu failu šalia įrodymo. Vėliau ją lengviau patikrinti nei santrauką iš atminties.

Įrodymas atsako tik į klausimą, ar pažeidžiamumas nuo tam tikro momento buvo uždarytas. Laikotarpiui iki to reikia žurnalų nuo 2026 m. spalio 20 d. ir, jei reikia, pėdsakų paieškos. Bendrą versijos patikros eigą aprašo puslapis Kaip teisingai patikrinti PHP versiją ir pataisų būseną.

Kaip PHP SOS padeda konkrečiai?

  • Išnagrinėjame visų jūsų serverių PHP paketų pakeitimų žurnalus ir palyginame juos su oficialiais saugumo pranešimais.
  • Kur pakeitimų žurnalai tyli, būseną išsiaiškiname su distribucija, valdymo skydelio teikėju ar hostingo teikėju.
  • Patikriname, ar veikiantys procesai po atnaujinimo buvo paleisti iš naujo.
  • Su PHP pataisų paslauga kiekvienam serveriui gausite įrodymą tokia forma, kurią galėsite perduoti trečiosioms šalims.

Dažni klausimai

Kodėl PHP versijos nepakanka kaip įrodymo?

Daugelis distribucijų saugumo pataisas perkelia atgaliniu perkėlimu (backport), nekeisdamos PHP versijos. Versijos numeris tuomet apie pataisą nieko nesako. Įdiegto paketo pakeitimų žurnale, priešingai, nurodyti ištaisytų pažeidžiamumų CVE numeriai.

Ką reiškia, jei CVE pakeitimų žurnale nėra?

Tai gali reikšti, kad pataisos nėra. Bet gali būti ir tai, kad paketo prižiūrėtojas suformulavo kitaip, pavyzdžiui, nurodė klaidos numerį ar pirminę (upstream) versiją. Tuomet paketo būseną palyginkite su oficialiu saugumo pranešimu arba paklauskite teikėjo.

Kiek laiko turėčiau saugoti įrodymą?

Tol, kol jis gali būti svarbus vidaus patikroms, draudikams ar galimiems duomenų apsaugos klausimams. Saugokite jį kartu su žurnalais nuo 2026 m. spalio 20 d. Konkrečius terminus išsiaiškinkite su duomenų apsaugos pareigūnu arba teisine konsultacija.

Ar pakeitimų žurnalą galiu patikrinti ir be prieigos prie interneto?

Taip. Debian ir Ubuntu kiekvieno paketo pakeitimų žurnalą saugo vietoje, kataloge /usr/share/doc, RPM sistemos jį laiko paketų duomenų bazėje. Abu variantus galima perskaityti be tinklo.

Šaltiniai

Skubus kontaktas

Kiekviena valanda svarbi. Parašykite mums dabar.

Trumpai aprašykite sistemą, PHP versiją ir pastebėjimus. Mes atsakysime, išsiaiškinsime padėtį ir dirbsime nuotoliu, kol incidentas bus užbaigtas ir dokumentuotas.

Skubi pagalba