
Эксплойт-доказательство концепции для CVE-2026-21440, критического обхода пути в multipart-загрузках AdonisJS, позволяющего произвольную запись файлов и удалённое выполнение кода.
CVE-2026-21440 — это критическая уязвимость обхода пути (path traversal), затрагивающая фреймворк AdonisJS, а именно обработку multipart-загрузки файлов.
⚠️ При эксплуатации злоумышленники могут записывать файлы в любом месте сервера, что потенциально может привести к удалённому выполнению кода (RCE).
| Поле | Значение |
|---|
| CVE ID | CVE-2026-21440 |
| Серьёзность | 🔴 Критическая |
| CVSS v4.0 | 9.2 |
| CWE | CWE-22 (Path Traversal) |
| Вектор атаки | Сеть |
| Требуется аутентификация | ❌ Нет |
AdonisJS ненадлежащим образом доверяет предоставленным пользователем именам файлов при multipart-загрузке файлов.
Когда разработчики вызывают:
MultipartFile.move()
без строгой санитизации, злоумышленники могут отправлять имена файлов, например:
../../../../app/config/startup.js
Это позволяет им выйти за пределы предназначенной директории загрузки и записывать файлы в произвольные места на сервере.
Злоумышленник может:
Это делает уязвимость особенно опасной для публичных конечных точек загрузки файлов.
@adonisjs/bodyparser ≤ 10.1.111.x до 11.0.0-next.6➡️ Обновитесь до исправленной версии как можно скорее.
Если обновление пока невозможно:
../, абсолютные пути, нулевые байты)MultipartFile.move()Установите зависимость
pip install requests
Сохраните скрипт
Скопируйте полный код Python и сохраните как cve_2026_21440_poc.py
Найдите конечную точку загрузки
Определите URL multipart-загрузки файлов цели (например, /upload, /api/files). Протестируйте с помощью браузера или curl.
Сначала запустите безопасный тест
python3 cve_2026_21440_poc.py http://target:port/upload --safe --random
Проверьте успех
Если уязвима, попробуйте shell (необязательно)
python3 cve_2026_21440_poc.py http://target:port/upload --shell php --depth 5
Проверьте shell
Откройте загруженный файл (например, http://target/shell.php?cmd=whoami) для вывода команд.
Используйте только на авторизованных целях! Начните с --safe.

╔══════════════════════════════════════════════════════════════╗
║ ⚠️ DISCLAIMER ⚠️ ║
╚══════════════════════════════════════════════════════════════╝
Этот Proof-of-Concept скрипт для CVE-2026-21440 предоставлен ИСКЛЮЧИТЕЛЬНО для образовательных, исследовательских и авторизованных целей тестирования безопасности.
❌ Вы МОЖЕТЕ использовать его на: • Системах, которыми вы владеете • Системах, на тестирование которых у вас есть явное письменное разрешение
❌ Вы НЕ МОЖЕТЕ использовать его для: • Несанкционированного доступа к любой системе • Незаконной деятельности любого рода • Вредоносных целей
Автор и распространитель НЕ несут ответственности за: • Неправильное использование этого инструмента • Ущерб, причинённый системам • Юридические последствия несанкционированного использования
Использование этого скрипта против систем без разрешения нарушает законы в большинстве стран (например, CFAA в США, Computer Misuse Act в Великобритании).
Используя этот инструмент, вы соглашаетесь: • Нести полную ответственность за свои действия • Соблюдать все применимые законы
Будьте этичны. Тестируйте ответственно. Сообщайте об уязвимостях вендорам.
✦ Взламывайте планету — но законно ✦