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-esi-unix-recvport — Apache Traffic Server 10.2.0 - Élevé - Distant - SSRF - ESI unix recvport | Kitploit
Outils/GitHubGitHub/abraxas/ats-esi-unix-recvport
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebLabs et Pratique
GitHubabraxas/ats-esi-unix-recvport

ats-esi-unix-recvport

Apache Traffic Server 10.2.0 - Élevé - Distant - SSRF - ESI unix recvport

Voir le dépôt
il 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-esi-unix-recvport

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  ats-esi-unix-recvport

ats-esi-unix-recvport

Classe : SSRF Portée : Distante

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

Le PluginVC FetchSM d'ESI rapporte le port de destination 0. Le remap traite le port 0 comme un UDS et réécrit le schéma de l'include en http+unix afin qu'il corresponde aux règles map_with_recv_port http+unix:// destinées uniquement aux listeners UDS. Un esi:include d'apparence publique de http://www.example.com/secret atteint alors l'origine unix-socket. Le GET /secret TCP reste sur la map TCP. Le CONTROL sans la map unix recv-port inline l'origine TCP (aucun témoin). Le schéma d'include http+unix lui-même est BAD_SCHEME dans le validateur de juillet 2026.

Un esi.so typique plus une seule map ne déclenche pas cela. Nécessite ESI plus au moins une ligne map_with_recv_port http+unix://. Valeurs par défaut remap_required: 1 et number_of_redirections: 0.

Ce n'est pas CVE-2026-58178 (littéraux privés, file://, commentaires imbriqués, plafond de profondeur fermé).

IDpas encore de CVE
ClasseSSRF
PortéeDistante (HTTP non authentifié vers un vhost ESI)
CWECWE-918
CVSSÉlevé : 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
ProduitApache Traffic Server
Affecté10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) ESI plus map_with_recv_port http+unix
Authaucune. Plugin ESI. Map unix recv-port.
LicenceGNU Affero GPL v3.0
Lab127.0.0.1:18750 / 18751 uniquement. Image ats-10.2.0-lab:local.

J'ai épinglé le tag 10.2.0, commit b1df7334b39a878971c376da849e8da4984918b6. Image construite depuis les sources.

Ce qu'un attaquant peut faire

HTTP non authentifié vers un vhost ESI dont le remap contient map_with_recv_port http+unix://. Include src que l'attaquant peut influencer (origine compromise, ESI stocké, ou $(HTTP_HEADER{...})).

MéthodeCiblePrivilège
GET /page non authentifié avec ESI include http://www.example.com/secretLe port de destination 0 de FetchSM correspond à map_with_recv_port http+unix://www.example.com/ (RemapProcessor.cc:87-114, PluginVC.h:274-278)Reconnaissance / SSRF (prouvé en lab) : le corps client a inline ATS-ESI-UNIX-RECVPORT-WITNESS depuis l'origine UDS.
Idemécriture au premier ordre / shellIntégrité : aucune. Aucune écriture au premier ordre. Aucun shell.
CONTROL GET /page sans map unix recv-portinclude de l'origine TCPFermé (prouvé en lab) : inline TCP-ORIGIN-OK, aucun témoin.
Client TCP GET /secret sur le vhost pocmap TCPFermé (prouvé en lab) : TCP-ORIGIN-OK, aucun témoin.

Prouvé en lab vs déduit : control sans témoin, page poc avec témoin, /secret TCP poc sans témoin : lab. L'influence de src via ESI stocké ou expansion d'en-tête relève du modèle de confiance ESI documenté, non re-prouvé ici. L'include du lab est un http://www.example.com/secret statique sur /page.

Nécessite : le plugin ESI plus map_with_recv_port http+unix. Valeurs par défaut remap_required: 1. number_of_redirections: 0.

Surface adjacente qui reste fermée

SurfaceLab
CONTROL sans table de ports de réception unixcontrol-no-witness=yes, intègre TCP-ORIGIN-OK
Client TCP GET /secretpoc-tcp-secret-no-witness=yes
Schéma d'include http+unixvalidateur BAD_SCHEME
file://, littéraux privés, commentaires imbriqués, plafond de profondeurCVE-2026-58178 fermé
Liste de refus d'hôtes sans DNSdocumenté ; inopérant sur remap_required: 1
Échec de remap_required: 1404
number_of_redirections: 0suivi de Location désactivé

Comment je l'ai trouvé

PluginVCCore met à zéro passive_addr_struct. PluginHttpConnectInternal ne définit que active_addr (le client d'origine). Le HttpSM de FetchSM s'exécute sur le PluginVC passif. attach_client_session copie netvc->get_local_addr() dans client_info.dst_addr. L'adresse locale passive est la structure mise à zéro. host_order_port() vaut 0.

Recherche de remap (RemapProcessor.cc:87-114) : le port 0 signifie UDS. Le schéma est réécrit http -> http+unix afin que map_with_recv_port http+unix:// corresponde. Le test unitaire test_RemapRules.cc:237-240 le documente.

Le validateur de juillet rejette le schéma d'include http+unix. Il ne rejette pas un include http:// dont le saut de remap interne est devenu unix parce que le port de destination valait 0.

Fausses pistes : traiter le esi.so typique + un map comme ce résidu (CONTROL prouve que ce n'est pas le cas) ; signaler la liste de refus d'hôtes sans DNS (documenté, inopérant sur remap_required=1) ; affirmer que file:// fonctionne encore ; s'attendre à ce que le TCP /secret suive la map unix.

Mise en scène : un reverse shell. L'oracle est un témoin intégré provenant de l'origine UDS, avec le TCP /secret toujours en TCP.

Lab

python3 ats-esi-unix-recvport-Abraxas-Labs.py

ou

cd lab
./run.sh

Boucle de preuve de concept 127.0.0.1:18750, contrôle 127.0.0.1:18751. Projet Compose ats-esi-unix-recvport. Image ats-10.2.0-lab:local. Témoin ATS-ESI-UNIX-RECVPORT-WITNESS. Dernière ligne :

SUCCESS ats-esi-unix-recvport control-no-witness=yes poc-page-witness=yes poc-tcp-secret-no-witness=yes ATS-ESI-UNIX-RECVPORT-WITNESS

Le correctif

Ne pas traiter le port de destination 0 du FetchSM PluginVC comme une correspondance de port de réception UDS. Conserver map_with_recv_port http+unix:// pour les véritables listeners UDS. Les inclusions ESI de http://host/ doivent rester sur la table TCP même lorsqu'une règle de port de réception http+unix existe pour cet hôte.

Références

Télécharger l’outil