Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ats-authproxy-prefix — Apache Traffic Server 10.2.0 - Élevé - Distant - Résidu de privilèges - préfixe authproxy | Kitploit
Outils/GitHubGitHub/abraxas/ats-authproxy-prefix
Authentification et AutorisationAnalyse des VulnérabilitésProxies Web et InterceptionExploitationSécurité WebLabs et Pratique
GitHubabraxas/ats-authproxy-prefix

ats-authproxy-prefix

Apache Traffic Server 10.2.0 - Élevé - Distant - Résidu de privilèges - préfixe authproxy

Voir le dépôt
5il y a 14 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Abraxas Labs - ats-authproxy-prefix

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

ats-authproxy-prefix

Classe : Résidu de privilège Portée : Distante

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

L'option --forward-header-prefix d'authproxy copie les champs d'identité d'un helper d'authentification renvoyant un 2xx sur la requête du client. HttpSetMimeHeader ne trouve et n'écrase que le premier champ portant ce nom. Les copies supplémentaires du client subsistent. Une origine qui applique la règle du dernier gagnant sur le même en-tête traite la valeur du client comme une identité.

Le plugin.config par défaut est vide. Ce résidu nécessite que le plugin soit chargé sur un remap avec l'option de préfixe. Le client doit tout de même passer l'authentification (2xx). Un 403 d'authentification n'atteint jamais l'origine.

IDpas encore de CVE
ClasseRésidu de privilège (implantation d'en-tête d'identité)
PortéeDistante (HTTP via authproxy avec --forward-header-prefix)
CWECWE-444, CWE-863
CVSSÉlevé : 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
ProduitApache Traffic Server
Affecté10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) superposition de préfixe authproxy
Authclient qui obtient déjà un 2xx du helper d'authentification. Plugin activé.
LicenceGNU Affero GPL v3.0
Lab127.0.0.1:18760 uniquement

J'ai épinglé le tag public 10.2.0 dépouillé en b1df7334. Le lab est un proxy inverse ats-10.2.0-lab:local compilé depuis les sources sur loopback. Helper d'authentification 2xx vs 403. Origine en dernier-gagnant sur X-Auth-User.

Ce qu'un attaquant peut faire

Atteindre un remap ATS qui charge authproxy.so avec --forward-header-prefix=X-Auth-. Envoyer deux lignes X-Auth-User sur une requête que le helper accepte en 2xx.

MéthodePoint d'impactPrivilège
X-Auth-User dupliqué après un helper d'authentification 2xxSuperposition StateAuthorized puis HttpSetMimeHeader (authproxy.cc:660-690, utils.cc:87-102)Intégrité (prouvé en lab) : origine en dernier-gagnant. Lab : X-Auth-User-0: realuser plus X-Auth-User-1: ATS-AUTHPROXY-PREFIX-WITNESS. Le CONTRÔLE aucun/unique reste REALUSER-ONLY.
Même implantationACL d'origine / recherche d'utilisateur basée sur cet en-têteReconnaissance (déduit) : tout ce que cette identité implantée peut lire à l'origine. Pas un vidage de tas. Pas la configuration ATS.
Helper d'authentification 403 avec les mêmes doublonsStateUnauthorized ; origine non réactivéeFermé (prouvé en lab) : les accès à l'origine restent inchangés. Client 403. Le témoin n'est pas dans le corps.

Prouvé en lab vs déduit : le dernier-gagnant en doublon, l'écrasement unique, l'absence et le 403 non atteint sont prouvés en lab. Le privilège à l'origine après implantation est déduit de l'identité en dernier-gagnant.

Nécessite : authproxy.so avec --forward-header-prefix. Le client doit passer l'authentification (2xx). L'origine doit traiter ces en-têtes de préfixe comme une identité (la raison d'être de l'option). Non chargé dans le plugin.config par défaut.

Surface adjacente qui reste fermée

SurfaceLab
Aucun en-tête de préfixe clientCONTROL none : origine REALUSER-ONLY
Préfixe client uniqueCONTROL single : premier champ écrasé ; le témoin ne survit pas
Assistant d'authentification 403origine non atteinte (control-403=yes)
Plugin non chargéle résidu ne s'applique pas
En-têtes hop-by-hop / @supprimés avant les hooks du plugin (CVE-2026-33267)
Liste d'en-têtes de réponse d'authentification viden'affirme plus (changelog)
SNI du certificateur / url_sig C=fermé sur cette épingle (CVE-2026-58162 / 58181)

Pas CVE-2026-58162. SHA-256/SHA-512 uniquement sur uri_signing. Le délimiteur manquant dans url_sig C= refuse toujours.

Lab

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

ou

cd lab
./run.sh

Loopback 127.0.0.1:18760 (origine 18761, assistant d'authentification 18762). Projet Compose ats-authproxy-prefix. Image ats-10.2.0-lab:local. Témoin ATS-AUTHPROXY-PREFIX-WITNESS. Dernière ligne :

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

Le correctif

Supprimer chaque champ client dont le nom commence par --forward-header-prefix avant l'overlay. HttpRemoveMimeHeader parcourt déjà TSMimeHdrFieldFind jusqu'à ce qu'il n'en reste plus (utils.cc:104-114). L'utiliser sur la requête client pour le préfixe configuré, puis définir. Faire en sorte que HttpSetMimeHeader détruise les extras TSMimeHdrFieldNextDup de la même manière que origin_server_auth set_header et access_control setHeader le font déjà.

En attendant, ne pointez pas l'ACL d'origine vers les en-têtes de préfixe d'authproxy à moins que l'origine ne donne la priorité au premier arrivé, ou rejetez les noms de préfixe en double au niveau de l'origine.

Références

  • github.com/apache/trafficserver tag 10.2.0 (b1df7334b39a878971c376da849e8da4984918b6)
  • plugins/authproxy/authproxy.cc StateAuthorized
  • plugins/authproxy/utils.cc HttpSetMimeHeader / HttpRemoveMimeHeader
  • guide d'administration d'authproxy
  • Contraste : origin_server_auth.cc set_header parcourt NextDup
  • CWE-444 · CWE-863
Télécharger l’outil