Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ats-authproxy-prefix — Apache Traffic Server 10.2.0 - Alta - Remoto - Privilegi residui - prefisso authproxy | Kitploit
Strumenti/GitHubGitHub/abraxas/ats-authproxy-prefix
Autenticazione e AutorizzazioneAnalisi delle VulnerabilitàProxy Web e IntercettazioneExploitSicurezza WebLab e Pratica
GitHubabraxas/ats-authproxy-prefix

ats-authproxy-prefix

Apache Traffic Server 10.2.0 - Alta - Remoto - Privilegi residui - prefisso authproxy

Vedi Repository
515 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Abraxas Labs - ats-authproxy-prefix

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

ats-authproxy-prefix

Classe: Residuo di privilegio Portata: Remota

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

--forward-header-prefix di authproxy copia i campi di identità da un auth helper 2xx sulla richiesta del client. HttpSetMimeHeader trova e sovrascrive solo il primo campo con quel nome. Le copie extra del client sopravvivono. Un origin che applica last-wins sullo stesso header tratta il valore del client come identità.

Il plugin.config predefinito è vuoto. Questo residuo richiede il plugin su un remap con l'opzione prefix. Il client deve comunque superare l'autenticazione (2xx). L'auth 403 non raggiunge mai l'origin.

IDnessuna CVE al momento
ClasseResiduo di privilegio (impianto di header di identità)
PortataRemota (HTTP attraverso authproxy con --forward-header-prefix)
CWECWE-444, CWE-863
CVSSAlto: 8.1 CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
ProdottoApache Traffic Server
Affetto10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) overlay prefix di authproxy
Authclient che ottiene già un 2xx dall'auth helper. Plugin attivo.
LicenzaGNU Affero GPL v3.0
Labsolo 127.0.0.1:18760

Ho fissato il tag pubblico 10.2.0 peel b1df7334. Il lab è un reverse proxy ats-10.2.0-lab:local compilato dai sorgenti su loopback. Auth helper 2xx vs 403. Origin last-wins su X-Auth-User.

Cosa può fare un attaccante

Raggiungere un remap ATS che carica authproxy.so con --forward-header-prefix=X-Auth-. Inviare due righe X-Auth-User su una richiesta che l'helper accetta come 2xx.

MetodoSinkPrivilegio
X-Auth-User duplicato dopo un auth helper 2xxoverlay StateAuthorized poi HttpSetMimeHeader (authproxy.cc:660-690, utils.cc:87-102)Integrità (provata in lab): origin last-wins. Lab: X-Auth-User-0: realuser più X-Auth-User-1: ATS-AUTHPROXY-PREFIX-WITNESS. I CONTROL none/single restano REALUSER-ONLY.
Stesso impiantoACL dell'origin / lookup utente basato su quell'headerRicognizione (inferita): qualunque cosa quell'identità impiantata possa leggere sull'origin. Non un heap dump. Non la config di ATS.
Auth helper 403 con gli stessi duplicatiStateUnauthorized; origin non riabilitatoChiuso (provato in lab): hit sull'origin invariati. Client 403. Witness non nel body.

Provato in lab vs inferito: duplicato last-wins, sovrascrittura singola, none e 403-non-raggiunto sono da lab. Il privilegio sull'origin dopo l'impianto è inferito dall'identità last-wins.

Richiede: authproxy.so con --forward-header-prefix. Il client deve superare l'autenticazione (2xx). L'origin deve trattare quegli header prefix come identità (la ragione per cui l'opzione esiste). Non caricato nel plugin.config predefinito.

Superficie adiacente che resta chiusa

SuperficieLab
Nessun header di prefisso clientCONTROL none: origine REALUSER-ONLY
Prefisso client singoloCONTROL single: primo campo sovrascritto; il witness non sopravvive
Auth helper 403origine non raggiunta (control-403=yes)
Plugin non caricatoil residuo non si applica
Header hop-by-hop / @rimossi prima degli hook del plugin (CVE-2026-33267)
Lista vuota di header auth-responsenon più asserito (changelog)
certifier SNI / url_sig C=chiuso su questo pin (CVE-2026-58162 / 58181)

Non CVE-2026-58162. Solo SHA-256/SHA-512 su uri_signing. url_sig C= con delimitatore mancante nega comunque.

Lab

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

o

cd lab
./run.sh

Loopback 127.0.0.1:18760 (origine 18761, helper di autenticazione 18762). Progetto Compose ats-authproxy-prefix. Immagine ats-10.2.0-lab:local. Witness ATS-AUTHPROXY-PREFIX-WITNESS. Ultima riga:

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

La correzione

Rimuovi ogni campo client il cui nome inizia con --forward-header-prefix prima dell'overlay. HttpRemoveMimeHeader percorre già TSMimeHdrFieldFind finché non ne rimangono più (utils.cc:104-114). Usalo sulla richiesta client per il prefisso configurato, poi imposta. Fai in modo che HttpSetMimeHeader distrugga i campi extra TSMimeHdrFieldNextDup come già fanno set_header di origin_server_auth e setHeader di access_control.

Fino ad allora, non puntare l'ACL dell'origin verso gli header di prefisso di authproxy a meno che l'origin non applichi il first-wins, oppure rifiuta i nomi di prefisso duplicati presso l'origin.

Riferimenti

  • github.com/apache/trafficserver tag 10.2.0 (b1df7334b39a878971c376da849e8da4984918b6)
  • plugins/authproxy/authproxy.cc StateAuthorized
  • plugins/authproxy/utils.cc HttpSetMimeHeader / HttpRemoveMimeHeader
  • authproxy admin guide
  • Contrasto: origin_server_auth.cc set_header percorre NextDup
  • CWE-444 · CWE-863
Scarica lo strumento