Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Новини 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) за відповідальне розкриття.

127

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

Коментарі

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

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

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

Laravel AI SDK на практиці
Новини 09 жовтня 2026

Laravel AI SDK на практиці: агент, що стоїть за There There

Фрік Ван дер Гертен розповідає, як у Spatie побудували AI-шар хелпдеска There There на Laravel AI SDK: клас агента, інструменти з типізованою JSON-схемою та делегування роботи звичайним domain-діям.

9
CSRF і завантаження
Новини 09 жовтня 2026

Порада з безпеки: як завантаження файлів може обійти захист від CSRF

Стівен Ріс-Картер пояснює, чому файли користувачів варто віддавати з окремого домену: HTML і JS у межах основного застосунку дають доступ до cookie та CSRF-токенів.

18

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

N-iX Нова
Вчора

Senior/ Lead PHP Engineer (with AI Skills) (#5828)

Розробка та підтримка backend-сервісів і API на PHP та Laravel з повним циклом володіння фічами від дизайну до моніторингу. Ключове завдання - інтеграція агентних AI-workflow (LLM-агенти, tool calling) у продукт і внутрішні інструменти, а також менторство інших інженерів. Вимоги: 6+ років PHP, 4+ роки з Laravel, досвід GenAI, знання MySQL/PostgreSQL, Docker та хмарних платформ, робота за часовим поясом EDT.

Backend Developer Middle

Розробник backend для web і мобільних застосунків. Основний стек: PHP, Laravel, WordPress. Очікується досвід роботи з REST API, базами даних (MySQL, PostgreSQL, MS SQL), інтеграціями зовнішніх сервісів, написанням тестів. Вимагається практичний досвід Laravel та впевнене знання PHP, ООП, SOLID, Git, Linux. Робота з командою над різноплановими проєктами.

MAKEUP
9 днів тому

PHP Tech Lead

PHP Tech Lead для великого e-commerce проекту. Управління PHP-командою з 3-8 людей, участь у проектуванні архітектури, code review та розробці критичних частин системи. Вимоги: 6+ років досвіду у PHP/backend, 2+ років у ролі лідера, знання Laravel/Symfony, SQL, REST API, Docker, CI/CD, тестування.

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

Crud

laravel-backpack/crud

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

3,377 7.1.22 13 13

Filament

filament/filament

Найпопулярніша адмін-панель для Laravel: ресурси, таблиці, форми та дашборди описуються PHP-класами поверх Livewire, Alpine і Tailwind. Замінює рутину CRUD-інтерфейсів декларативною конфігурацією.

31,852 v5.7.6 9