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

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

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

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

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

Категории

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

ats-authproxy-prefix

Apache Traffic Server 10.2.0 — высокий уровень — удалённо — остаточные привилегии — префикс authproxy

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

Популярное

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

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

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

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

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

Abraxas Labs - ats-authproxy-prefix

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

ats-authproxy-prefix

Класс: Остаточные привилегии Доступ: Удалённый

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

--forward-header-prefix в authproxy копирует поля идентичности из 2xx-ответа auth-хелпера в клиентский запрос. HttpSetMimeHeader находит и перезаписывает только первое поле с таким именем. Дополнительные клиентские копии сохраняются. Origin, применяющий к одному и тому же заголовку правило «последний побеждает», воспринимает клиентское значение как идентичность.

Штатный plugin.config пуст. Для этой остаточной уязвимости нужен плагин на remap с опцией префикса. Клиент всё равно должен пройти аутентификацию (2xx). Ответ 403 от auth никогда не доходит до origin.

IDCVE пока нет
КлассОстаточные привилегии (подмена заголовка идентичности)
ДоступУдалённый (HTTP через authproxy с --forward-header-prefix)
CWECWE-444, CWE-863
CVSSВысокий: 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
ПродуктApache Traffic Server
Затронуто10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) оверлей префикса authproxy
Аутентификацияклиент, уже получающий 2xx от auth-хелпера. Плагин включён.
ЛицензияGNU Affero GPL v3.0
Лабораториятолько 127.0.0.1:18760

Я зафиксировал публичный тег 10.2.0 и коммит b1df7334. Лаборатория — это собранный из исходников обратный прокси ats-10.2.0-lab:local на loopback. Auth-хелпер отвечает 2xx или 403. Origin применяет правило «последний побеждает» к X-Auth-User.

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

Достучаться до remap в ATS, который загружает authproxy.so с --forward-header-prefix=X-Auth-. Отправить две строки X-Auth-User в запросе, который хелпер принимает как 2xx.

МетодТочка сбросаПривилегия
Дублирование X-Auth-User после 2xx-ответа auth-хелпераоверлей StateAuthorized, затем HttpSetMimeHeader (authproxy.cc:660-690, utils.cc:87-102)Целостность (доказано в лаборатории): origin применяет «последний побеждает». Лаборатория: X-Auth-User-0: realuser плюс X-Auth-User-1: ATS-AUTHPROXY-PREFIX-WITNESS. Контрольные случаи none/single остаются REALUSER-ONLY.
Та же подменаACL origin / поиск пользователя по этому заголовкуРазведка (предположительно): всё, что подменённая идентичность может прочитать на origin. Не дамп кучи. Не конфигурация ATS.
403 от auth-хелпера с теми же дублямиStateUnauthorized; origin не переоткрываетсяЗакрыто (доказано в лаборатории): обращения к origin не меняются. Клиент получает 403. Свидетель не попадает в тело.

Доказано в лаборатории vs предположительно: дублирование с правилом «последний побеждает», одиночная перезапись, отсутствие дублей и недостижение origin при 403 — это лабораторные результаты. Привилегия на origin после подмены выводится из идентичности по правилу «последний побеждает».

Требуется: authproxy.so с --forward-header-prefix. Клиент должен пройти аутентификацию (2xx). Origin должен воспринимать эти заголовки с префиксом как идентичность (именно для этого существует опция). Не загружается в штатном plugin.config.

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

ПоверхностьЛаборатория
Нет заголовка клиентского префиксаCONTROL none: origin REALUSER-ONLY
Одиночный клиентский префиксCONTROL single: первое поле перезаписано; свидетель не сохраняется
Auth helper 403origin не достигнут (control-403=yes)
Плагин не загруженостаток не применяется
Hop-by-hop / заголовки @удаляются до хуков плагина (CVE-2026-33267)
Пустой список заголовков auth-responseбольше не утверждает (changelog)
certifier SNI / url_sig C=закрыто на этом пине (CVE-2026-58162 / 58181)

Не CVE-2026-58162. Только SHA-256/SHA-512 на uri_signing. Отсутствующий разделитель url_sig C= по-прежнему запрещает.

Лаборатория

python3 ats-authproxy-prefix-Abraxas-Labs.py

или

cd lab
./run.sh

Loopback 127.0.0.1:18760 (origin 18761, auth helper 18762). Проект Compose ats-authproxy-prefix. Образ ats-10.2.0-lab:local. Свидетель ATS-AUTHPROXY-PREFIX-WITNESS. Последняя строка:

SUCCESS ats-authproxy-prefix pin=10.2.0 control-none=REALUSER-ONLY control-single=REALUSER-ONLY control-403=yes dup-last-wins=yes ATS-AUTHPROXY-PREFIX-WITNESS

Исправление

Удалите каждое клиентское поле, имя которого начинается с --forward-header-prefix, перед наложением. HttpRemoveMimeHeader уже перебирает TSMimeHdrFieldFind, пока не останется ни одного (utils.cc:104-114). Используйте его для клиентского запроса с настроенным префиксом, затем выполните установку. Заставьте HttpSetMimeHeader уничтожать лишние TSMimeHdrFieldNextDup так же, как это уже делают set_header в origin_server_auth и setHeader в access_control.

До тех пор не направляйте origin ACL на префиксные заголовки authproxy, если только origin не применяет правило «первый побеждает», или отклоняйте дублирующиеся имена префиксов на origin.

Ссылки

  • github.com/apache/trafficserver тег 10.2.0 (b1df7334b39a878971c376da849e8da4984918b6)
  • plugins/authproxy/authproxy.cc StateAuthorized
  • plugins/authproxy/utils.cc HttpSetMimeHeader / HttpRemoveMimeHeader
  • руководство администратора authproxy
  • Для сравнения: origin_server_auth.cc set_header перебирает NextDup
  • CWE-444 · CWE-863
Скачать инструмент