Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
ats-esi-unix-recvport — Apache Traffic Server 10.2.0 – Hoch – Remote – SSRF – ESI unix recvport | Kitploit
Tools/GitHubGitHub/abraxas/ats-esi-unix-recvport
SchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitLabs & Praxis
GitHubabraxas/ats-esi-unix-recvport

ats-esi-unix-recvport

Apache Traffic Server 10.2.0 – Hoch – Remote – SSRF – ESI unix recvport

Repository anzeigen
vor 14 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Abraxas Labs - ats-esi-unix-recvport

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

ats-esi-unix-recvport

Klasse: SSRF Reichweite: Remote

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

Das ESI-FetchSM-PluginVC meldet Zielport 0. Remap behandelt Port 0 als UDS und schreibt das Include-Schema auf http+unix um, sodass es zu map_with_recv_port http+unix://-Regeln passt, die nur für UDS-Listener gedacht sind. Ein öffentlich wirkendes esi:include von http://www.example.com/secret trifft dann den Unix-Socket-Ursprung. TCP GET /secret bleibt auf der TCP-Map. CONTROL ohne die Unix-Recv-Port-Map bettet den TCP-Ursprung inline ein (kein Witness). Das Include-Schema http+unix selbst ist BAD_SCHEME im Validator von Juli 2026.

Typisches esi.so plus eine map trifft dies nicht. Benötigt ESI plus mindestens eine map_with_recv_port http+unix://-Zeile. Standard remap_required: 1 und number_of_redirections: 0.

Dies ist nicht CVE-2026-58178 (private Literale, file://, verschachtelte Kommentare, Tiefenbegrenzung geschlossen).

IDnoch keine CVE
KlasseSSRF
ReichweiteRemote (unauthentifiziertes HTTP an einen ESI-Vhost)
CWECWE-918
CVSSHoch: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
ProduktApache Traffic Server
Betroffen10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) ESI plus map_with_recv_port http+unix
Authkeine. ESI-Plugin. Recv-Port-Unix-Map.
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1:18750 / 18751. Image ats-10.2.0-lab:local.

Ich habe den Tag 10.2.0 gepinnt, Commit b1df7334b39a878971c376da849e8da4984918b6. Aus dem Quellcode gebautes Image.

Was ein Angreifer tun kann

Unauth-HTTP an einen ESI-Vhost, dessen Remap map_with_recv_port http+unix:// enthält. Include-src, das der Angreifer beeinflussen kann (kompromittierter Ursprung, gespeichertes ESI oder $(HTTP_HEADER{...})).

MethodeSinkPrivileg
Unauth GET /page ESI-Include http://www.example.com/secretFetchSM-Zielport 0 passt zu map_with_recv_port http+unix://www.example.com/ (RemapProcessor.cc:87-114, PluginVC.h:274-278)Recon / SSRF (im Lab nachgewiesen): Client-Body bettete ATS-ESI-UNIX-RECVPORT-WITNESS vom UDS-Ursprung inline ein.
DasselbeWrite erster Ordnung / ShellIntegrität: keine. Kein Write erster Ordnung. Keine Shell.
CONTROL GET /page ohne Unix-Recv-Port-MapTCP-Ursprung-IncludeGeschlossen (im Lab nachgewiesen): bettet TCP-ORIGIN-OK inline ein, kein Witness.
TCP-Client GET /secret auf dem poc-VhostTCP-MapGeschlossen (im Lab nachgewiesen): TCP-ORIGIN-OK, kein Witness.

Im Lab nachgewiesen vs. abgeleitet: Control ohne Witness, poc-Seite mit Witness, poc-TCP /secret ohne Witness: Lab. Das Beeinflussen von src über gespeichertes ESI oder Header-Expansion ist das dokumentierte ESI-Vertrauensmodell und wird hier nicht erneut nachgewiesen. Das Lab-Include ist ein statisches http://www.example.com/secret auf /page.

Erfordert: ESI-Plugin plus map_with_recv_port http+unix. Standard remap_required: 1. number_of_redirections: 0.

Angrenzende Oberfläche, die geschlossen bleibt

OberflächeLab
CONTROL ohne Unix-recv-port-Mapcontrol-no-witness=yes, inlined TCP-ORIGIN-OK
TCP-Client GET /secretpoc-tcp-secret-no-witness=yes
Include-Schema http+unixValidator BAD_SCHEME
file://, private Literale, verschachtelte Kommentare, TiefenbegrenzungCVE-2026-58178 geschlossen
Hostname-Denylist ohne DNSdokumentiert; wirkungslos bei remap_required: 1
remap_required: 1-Fehltreffer404
number_of_redirections: 0Location-Follow aus

Wie ich es gefunden habe

PluginVCCore setzt passive_addr_struct auf Null. PluginHttpConnectInternal setzt nur active_addr (den ursprünglichen Client). FetchSMs HttpSM läuft auf dem passiven PluginVC. attach_client_session kopiert netvc->get_local_addr() nach client_info.dst_addr. Die passive lokale Adresse ist die genullte Struktur. host_order_port() ist 0.

Remap-Lookup (RemapProcessor.cc:87-114): Port 0 bedeutet UDS. Das Schema wird von http zu http+unix umgeschrieben, sodass map_with_recv_port http+unix:// passt. Der Unit-Test test_RemapRules.cc:237-240 dokumentiert das.

Der Juli-Validator lehnt das Include-Schema http+unix ab. Er lehnt jedoch kein http://-Include ab, dessen interner Remap-Hop zu Unix wurde, weil der Zielport 0 war.

Irrwege: typisches esi.so + eine map als diesen Überrest zu behandeln (CONTROL beweist, dass es das nicht ist); eine Hostname-Denylist ohne DNS zu melden (dokumentiert, wirkungslos bei remap_required=1); zu behaupten, file:// funktioniere noch; zu erwarten, dass TCP /secret der Unix-Map folgt.

Theater: eine Reverse Shell. Das Orakel ist ein inlined Witness vom UDS-Origin, wobei TCP /secret weiterhin TCP bleibt.

Lab

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

oder

cd lab
./run.sh

Loopback-PoC 127.0.0.1:18750, Steuerung 127.0.0.1:18751. Compose-Projekt ats-esi-unix-recvport. Image ats-10.2.0-lab:local. Witness ATS-ESI-UNIX-RECVPORT-WITNESS. Letzte Zeile:

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

Die Behebung

Behandle den FetchSM PluginVC-Zielport 0 nicht als UDS-Empfangsport-Übereinstimmung. Behalte map_with_recv_port http+unix:// für echte UDS-Listener bei. ESI-Includes von http://host/ sollten auf der TCP-Zuordnung bleiben, auch wenn eine http+unix-Empfangsport-Regel für diesen Host existiert.

Referenzen

Tool herunterladen