Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ats-magick-unsigned — Apache Traffic Server 10.2.0 — высокий уровень — удалённо — запись файла — неподписанный magick convert выполняет запись от имени nobody | Kitploit
Инструменты/GitHubGitHub/abraxas/ats-magick-unsigned
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииВеб-безопасностьЛаборатории и Практика
GitHubabraxas/ats-magick-unsigned

ats-magick-unsigned

Apache Traffic Server 10.2.0 — высокий уровень — удалённо — запись файла — неподписанный magick convert выполняет запись от имени nobody

Репозиторий
14 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Abraxas Labs - ats-magick-unsigned

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  ats-magick-unsigned

ats-magick-unsigned

Класс: запись файлов Доступ: удалённый

Apache Traffic Server 10.2.0 (b1df7334) — Apache Software Foundation

Экспериментальный magick запускает ImageMagick ConvertImageCommand из ?magick= (percent+base64 convert argv), когда в plugin.config нет RSA-ключа. verified = nullptr == key_. В README указано, что ключ существует, чтобы избежать эксплуатации. Загрузка magick.so без аргументов — это поведение плагина по умолчанию.

Подписанный CONTROL с открытым RSA-ключом в plugin.config даёт 403, файл-свидетель не создаётся. Класс остаётся записью файлов. Дистрибутивный policy.xml часто отключает URL/shell-делегаты. Не завышайте до RCE.

IDCVE пока нет
КлассЗапись файлов (неподписанный convert argv)
ДоступУдалённый (неаутентифицированный HTTP ?magick= через magick.so без ключа)
CWECWE-347, CWE-73
CVSSHigh: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
ПродуктApache Traffic Server
Затронуто10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) экспериментальный magick с неподписанным convert
Аутентификацияотсутствует
ЛицензияGNU Affero GPL v3.0
Лабораториятолько 127.0.0.1:18800

Я зафиксировал публичный тег 10.2.0 и коммит b1df7334. Лаборатория — это собранный из исходников ats-10.2.0-lab:local обратный прокси на loopback. Неподписанный convert -write png:/tmp/oracle/ATS-MAGICK-UNSIGNED-WITNESS. Файл-свидетель 161 байт, владелец nobody. Подписанный CONTROL — 403.

Что может сделать атакующий

Неаутентифицированный GET /img.png?magick= к исходному изображению с совместимым Content-Type, при загруженном magick.so и отсутствии RSA-ключа.

МетодТочка сбросаПривилегия
Неаутентифицированный GET /img.png?magick= с неподписанным convert -write png:/tmp/oracle/ATS-MAGICK-UNSIGNED-WITNESSverified = nullptr == key_ (magick.cc:593-609), затем ConvertImageCommandЦелостность / файлы (доказано в лаборатории): файл-свидетель 161 байт, владелец nobody. В логах ImageMagick's syntax. HTTP 200.
Тот же запрос с RSA-ключом в plugin.configEVP_DigestVerifyЗакрыто (доказано в лаборатории): 403 signature verification failed. Файл-свидетель не создан.
Огромный blob от originнеограниченный blob_Доступность (предположительно): давление на память процесса. Аналог ограничения из CVE-2026-58186. Не относится к этой строке High.
URL / shell-делегаты IMpolicy.xmlЗакрыто в этой лаборатории: HTTP/HTTPS/URL/MVG/shell-делегаты отсутствуют. Не называйте это RCE.

Доказано в лаборатории vs предположительно: неподписанная запись файла от имени nobody, подписанный 403, лог синтаксиса — это лаборатория. Неограниченный blob DoS — предположительно. RCE не заявляется.

Требуется: экспериментальный magick.so без ключа проверки, а также ImageMagick policy.xml, который всё ещё разрешает запись через путь convert. Не загружается в стандартном plugin.config.

Смежная поверхность, которая остаётся закрытой

ПоверхностьЛаборатория
magick загружен с открытым RSA-ключомCONTROL 403, control-sigfail=yes, файла нет
magick не загружензапрос magick неактивен
wasm WASI path_openNOENT
Тело запроса как вход IMвходом является blob ответа origin
Ограниченное декодирование webp_transformCVE-2026-58186 закрыт; blob magick — это аналог, который не был ограничен

Не CVE-2026-58186. В README Magick уже было сказано, что ключ существует, чтобы избежать эксплуатации. Остаётся загрузка плагина без этого ключа.

Лаборатория

python3 ats-magick-unsigned-Abraxas-Labs.py

или

cd lab
./run.sh

Loopback 127.0.0.1:18800 (подписанный CONTROL на втором слушателе). Проект Compose ats-magick-unsigned. Образ ats-10.2.0-lab:local. Свидетель ATS-MAGICK-UNSIGNED-WITNESS. Последняя строка:

SUCCESS ats-magick-unsigned unsigned-http=200 file-write=yes uid=nobody syntax-log=true control-http=403 control-sigfail=yes ATS-MAGICK-UNSIGNED-WITNESS

Исправление

Отказывать при отсутствии key_ (fail closed). Не запускать ConvertImageCommand для клиентского ?magick= без проверенного magickSig. Считать отсутствующий ключ признаком «плагин настроен неверно», а не «неподписанная конвертация допустима». Ограничить blob_ так же, как был ограничен webp_transform.

До этого не загружайте magick.so без RSA-публичного ключа продакшн-размера. Дистрибутивный policy.xml не заменяет подпись.

Ссылки

  • github.com/apache/trafficserver тег 10.2.0 (b1df7334b39a878971c376da849e8da4984918b6)
  • plugins/experimental/magick/magick.cc verified = nullptr == key_
  • plugins/experimental/magick/README
  • Смежная (закрыта, не эта): CVE-2026-58186 ограничение декодирования webp_transform
  • CWE-347 · CWE-73
Скачать инструмент