Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Новини 22 червня 2026

Повідомлення про безпеку: неавтентифіковане ін'єктування команд у Backpack\CRUD

Команда Backpack for Laravel опублікувала повідомлення про безпеку: у телеметрії пакета Backpack\CRUD виявлено вразливість, що дозволяла віддалене виконання коду (RCE) без автентифікації. Дослідник безпеки Vishal Shukla (@therawdev) відповідально повідомив про проблему 16 травня 2026 року, і команда розробників випустила виправлення менш ніж за 24 години.

Які версії під загрозою

Оновитися потрібно, якщо у вас одна з версій нижче за виправлену:

  • CRUD v7 до v7.0.36
  • CRUD v6 до v6.8.13
  • CRUD v5 до v5.6.2

Що робити

Негайно оновіть пакет до пропатченої версії:

composer update backpack/crud

Цього достатньо, щоб закрити вразливість.

Наскільки це небезпечно

За словами команди, «практична експлуатація вимагала рідкісного поєднання умов, яких немає у більшості стандартних розгортань Laravel». Для атаки одночасно мали виконуватися дві передумови:

  1. Увімкнена функція PHP exec() - це типово для VPS та серверів Laravel Forge, але зазвичай вимкнено на шаред-хостингах.
  2. Незмінений заголовок HTTP Host - CDN на кшталт Cloudflare та системи WAF, як правило, нормалізують заголовки ще до того, як запит дійде до PHP.

Іншими словами, проєкти за Cloudflare чи подібним сервісом мали додатковий захист, тоді як «голі» VPS без CDN були під вищим ризиком. Команда не виявила жодних ознак того, що вразливістю скористалися в реальних атаках.

Як перевірити, чи не зламали сервер

В оригінальному повідомленні наведено шість кроків перевірки. Важлива примітка від авторів: Linux за замовчуванням не логує читання файлів, тому виявити факт компрометації постфактум буває складно.

Крок 1. Чи були ви вразливі

Перевірте, чи доступна функція exec() та які функції вимкнено:

php -i | grep disable_functions
php -m | grep curl

Також варто переглянути конфігурацію PHP-FPM на предмет статусу exec().

Крок 2. Спроби «промацування» в логах nginx

Пошукайте підозрілі запити в access-логах і проаналізуйте коди відповідей - це допоможе зрозуміти, чи були запити заблоковані:

grep "'" /var/log/nginx/access.log

Крок 3. Підозрілі файли

Перегляньте нещодавно змінені файли та все незвичне у тимчасових каталогах:

ls -lat /tmp | head -40
find /var/www -name "*.php" -newer /var/www/html/index.php

Крок 4. Несподівані cron-завдання

Переконайтеся, що в розкладі немає сторонніх завдань:

crontab -u www-data -l 2>/dev/null
crontab -u forge -l 2>/dev/null

Крок 5. Несподівані вихідні з'єднання

Перевірте мережеву активність та останні входи:

ss -tnp | grep -v "127.0.0.1"
sudo last | head -30

Крок 6. Гірка правда про .env

Якщо зловмисник зміг виконати команду на вашому сервері, найімовірніше, перше, що він зробив, - прочитав файл .env. Тому за наявності будь-яких ознак компрометації ротуйте всі секрети: ключ застосунку, паролі до бази даних, токени стороніх сервісів та інші чутливі дані.

Хронологія розкриття

  • 16 травня 2026 - отримано повідомлення про вразливість
  • 17 травня 2026 - підтверджено та випущено виправлення
  • 19 травня 2026 - клієнтів сповіщено електронною поштою
  • 15 червня 2026 - опубліковано публічне повідомлення про безпеку
  • 17 червня 2026 - опубліковано пост у блозі

Підсумок

Це гарний приклад відповідального розкриття: швидкий патч, прозоре повідомлення для користувачів та грейс-період у 30 днів перед публічним розкриттям, щоб дати час на оновлення. Якщо ви використовуєте Backpack\CRUD - просто оновіться до останньої версії, а за наявності «голого» VPS без CDN додатково пройдіться кроками перевірки вище.

Подяка досліднику Vishal Shukla (@therawdev) за відповідальне розкриття.

133

Читати в документації

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Новини 04 листопада 2026

Laravel 13.40: довгі завдання черги, insertBefore() для middleware і strict для запиту

Laravel 13.40.0 додає Queue::whenJobRunsLongerThan() і Schedule::whenTaskRunsLongerThan() для завдань черги та планувальника, що виконуються задовго, а також insertBefore() і insertAfter() для вбудованого стеку middleware. Крім того - прапорець strict для $request->integer() і string() та DB::hasCommitId() для перевірки реплік.

2
Новини 04 листопада 2026

Вразливість у Concurrency: вивід задачі міг призвести до виконання коду в Laravel

Laravel 13.40.0 і 12.71.0 закривають вразливість у драйвері process фасаду Concurrency: задача, яка друкує текст від користувача, могла підробити свій результат, а батьківський процес робив його unserialize(). Пояснюємо, кого це стосується і що зробити до оновлення.

3

Вакансії за темою

Vodworks Нова
Вчора

Full Stack (PHP / JavaScript / AI)

Senior-розробник на позиції індивідуального контриб'ютора без керування людьми: архітектура та розробка масштабованих застосунків, мікросервісів і API, переважно на PHP з Laravel, а також JavaScript і сучасний фронтенд. Завдання включають обробку даних у реальному часі, кешування, черги повідомлень і розподілені системи. Вимоги: 7+ років досвіду, практичне використання AI-інструментів у розробці, англійська C1 і вище, менторство молодших розробників.

Full Stack Developer (PHP / React) Middle / Middle+

Full Stack розробник розвиватиме та підтримуватиме власний аналітичний продукт для перевірки контрагентів і оцінки ризиків, працюючи зі складною бізнес-логікою та великими обсягами даних. Основний стек: PHP 8.x, Laravel або Symfony, MySQL, React; також потрібні проєктування API, оптимізація SQL-запитів, Docker, CI/CD. Вимоги: комерційний досвід від 3 років, досвід підтримки legacy-коду, англійська B1+ для читання документації.

Senior/Middle PHP Developer

Підтримка та розвиток великих веб-сайтів компанії (понад 1 млн відвідувань на місяць) на Laravel та OctoberCMS, інтеграція з внутрішніми системами та платіжними шлюзами (Приват24, Portmone, EasyPay, LiqPay), оптимізація продуктивності та робота з великим legacy-кодом без ризику для продакшену. Потрібен досвід PHP від 4 років, впевнена робота з Laravel і OctoberCMS, знання HTML5, CSS3 та JavaScript, вища освіта.

Пакети за темою

Crud

laravel-backpack/crud

Швидко створюй адміністративні інтерфейси за допомогою Laravel, Bootstrap та JavaScript.

3,382 7.1.24 13 14

Kalimera

welldigit/kalimera

Interactive installer that scaffolds Laravel applications the Well Digit way.

v1.0.0 16