Практична технічна підтримка
Латки безпеки PHP: версії, зворотні порти і запущені служби
Дізнайтеся, чому баннер PHP не може підтвердити стан латки, як визначити повний перегляд пакунка виробника і як інтерпретувати результати попередження з обмеженим діапазоном.
Останній перегляд:
Чому старовинна версія може містити нові виправлення
Дистрибутив Linux може виправити помилку безпеки і застосувати її до версії PHP, яку він підтримує, замість того, щоб замінити її найновішою версією з можливостями, які було розроблено початковим розробником. Це називається зворотним портуванням. Видима версія PHP може залишатися такою ж, як і версія пакунка дистрибутива.
Це означає публічний банер, наприклад, PHP/7.4.3 є недостатнім доказом для винесення вердикту щодо латки. І навпаки, сам по собі суфікс ESM або виробника не вказує на те, що у пакунку міститься певний виправлення. Важливе значення має точний випуск операційної системи, джерело пакунка і повна версія.
Підтримка розробників і підтримка виробників також є окремими питаннями. За допомогою підтримуваного дистрибутивом зворотного портування можна вирішити проблему з назвою, не перетворюючи стару гілку PHP на хорошу довгострокову платформу для програм. Розробляйте план міграції разом з регулярними латами безпеки.
Зберегти чотири частини інформації
- Розповсюдження і випуск: ОС, що знаходиться всередині реального сервера або контейнера, на якому виконується PHP.
- Веб- середовище PHP: версії і обробника, який обслуговує веб- сайт, а не просто PHP командного рядка.
- Повністю встановлена версія пакунка: включаючи епохи, суфікси пакунків і розширену версію підтримки.
- Джерело пакунка: офіційне сховище дистрибутива, збірку постачальника хостингу або іншого постачальника.
Вибірник PHP вузла може показувати лише версію під час виконання. Запитайте у постачальника повний перегляд пакунка і його рекомендації, якщо їх не вистачає. Не обирайте схожий пакунок Ubuntu для нетипової збірки або потоку Remi; відповідальність за відповідність правил і супроводження належить фактичному постачальнику.
Використовувати перевірку, надану власником

Оцінка пакунка PHP порівнює введені дані з явно описаними комбінаціями виробників. Його розширювані інструкції містять команди тільки для читання для Ubuntu, Debian, AlmaLinux і Rocky Linux. Введені дані залишаються у переглядачі; програма звантажує спільний рекомендаційний знімок замість надсилання вашого переліку пакунків до сканера.
Переконайтеся, що пакунок обслуговує веб- сайт, перш ніж позначити пункт режиму виконання. Командний рядок PHP і PHP- FPM можуть відрізнятися, а також може бути встановлено декілька версій PHP. Пакунки контейнера можуть відрізнятися від пакунків на його вузлі. Незавершений результат є кращим за точну відповідь щодо неправильного режиму виконання.
Приклад справжнього зворотного портування: PHP2Shell
Опубліковані Canonical записи для CVE-2026-109618 і CVE-2026-109619 ідентифікувати 7.4.3-4ubuntu2.29+esm5 як виправлену версію Ubuntu 20.04 PHP 7.4. Заголовок версії PHP все ще є 7.4.3. Це приклад, що стосується певного виробника, перевірено на дату перегляду, наведену вище, а не універсальний пакунок для встановлення у іншому дистрибутиві.
Програма перевірки може відрізняти цю версію від попередньої 7.4.3-4ubuntu2.29+esm4. У ній враховуються інші отримані попередження PHP, а також пара PHP2Shell. Визначення цих двох виправлень не має перетворюватися на твердження про те, що всі проблеми на сервері було вирішено.
Використовуйте рекомендації постачальника та звичайні джерела пакунків, коли вирішуєте, чи оновити. Ubuntu Pro або інші пакунки з розширеним обслуговуванням також вимагають відповідного доступу і прав на підтримку. Версія, скопійована зі прикладу, не є доказом того, що вона встановлена на вашій машині.
Зрозуміти можливі результати
| Результат | Значення | Наступний крок |
|---|---|---|
| Виявлена версія пакунка, на який впливає | Закритий запис розташовує надану версію у діапазон, який буде задіяно опублікованим виправленням. | Переглянути цей запис виробника і оновити за допомогою звичайного схваленого джерела. |
| Виявлено виправлення виробника | Надані опубліковані версії пакунків збігаються з порівняннями виправлень. | Підтвердити, що запущена служба завантажила оновлений пакунок. |
| Деякі попередження все ще потребують перегляду | Інші записи мають нерозв' язану застосовність, не мають вказаного виправлення або залишкової невизначеності. | Прочитайте ці попередження; не називайте всю машину безпечною. |
| Неможливо визначити | Покриття, джерело, версія, підтвердження під час виконання або свіжість недостатні. | Запитайте у постачальника доказів, а не вважайте, що немає вразливості, якщо немає жодних висновків. |
Встановлені і запущені - це різні стани
Оновлення пакунка на диску само по собі не підтверджує, що всі служби, які виконуються протягом тривалого часу, було перезавантажено за допомогою нового коду. Слідуйте інструкціям постачальника щодо перезапуску та перевірки служби, використовуючи вікно обслуговування, якщо це необхідно. До перевірки включайте робочі програми і контейнери, а не лише команду PHP оболонки.
Якщо є підстави підозрювати, що зловмисник використовував латку, версія з латками не є чистою версією. Розслідуйте інцидент, журнали, дані реєстрації та відновлення окремо. Цей інструмент не перевіряє експлойти, не перевіряє код програми і не перевіряє додатки WordPress.
Перевірка доказів і свіжості
Читає посилання на джерела результатів і час останнього успішного оновлення. Можливі затримки опублікування виробником і імпортування подачі. WAIU відмовляється від позитивного завершення пакунка, якщо його знімок має вік більше 12 годин. Його завдання оновлення у реальному часі має бути увімкнено і працювати, щоб спільні дані залишалися актуальними.
Зберігати порівняння у журналі обслуговування: надані пакунки, відповідні CVE, виправлена версія, дата попередження і те, що адміністратор перевірив пізніше. Таким чином, ви отримаєте корисний слід, не помилково сприймаючи перевірку публічного заголовка веб- сайту як перевірку безпеки сервера.