Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Submit
ToolsExploitsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

FeedsContactPrivacy© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
ats-redirect-zero-net — Apache Traffic Server 10.2.0 - High - Remote - SSRF - redirect 0.0.0.0/8 | Kitploit
Tools/GitHubGitHub/abraxas/ats-redirect-zero-net
Vulnerability AnalysisExploitationWeb SecurityNetwork SecurityLabs & Practice
GitHubabraxas/ats-redirect-zero-net

ats-redirect-zero-net

Apache Traffic Server 10.2.0 - High - Remote - SSRF - redirect 0.0.0.0/8

View Repository
14 days agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Abraxas Labs - ats-redirect-zero-net

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  ats-redirect-zero-net

ats-redirect-zero-net

Class: SSRF Reach: Remote

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

redirect.actions default routable:follow classifies 0.0.0.0/8 (except INADDR_ANY) as FOLLOW. Loopback is only 127.0.0.0/8 and ::1. Default CONNECT dest deny and ESI IncludeUrlValidator already reject 0.0.0.0/8. Follow-redirect re-opens it.

Default number_of_redirections is 0, so the map is not evaluated until follow is on. A loaded plugin that calls TSHttpTxnRedirectUrlSet still forces one hop even when the counter is 0 (CVE-2026-58189 counter reset is closed).

IDno CVE yet
ClassSSRF (follow-redirect misses 0.0.0.0/8)
ReachRemote (origin Location after follow is on)
CWECWE-918
CVSSHigh: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
ProductApache Traffic Server
Affected10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) redirect.actions routable fill
Authnone. Follow must be on (number_of_redirections=1 in the lab).
LicenseGNU Affero GPL v3.0
Lab127.0.0.1:18790 only

I pinned public tag 10.2.0 peel b1df7334. The lab is a source-built ats-10.2.0-lab:local reverse proxy on loopback. Loopback RETURN. 0.0.0.0 400. 0.0.0.1 FOLLOW. Remap skipped on the follow hop.

What an attacker can do

Have ATS follow Location: http://0.0.0.1/ after number_of_redirections=1 (or after a plugin TSHttpTxnRedirectUrlSet). On Linux, 0.0.0.1 is local.

MethodSinkPrivilege
Unauth GET; origin 302 Location: http://0.0.0.1:18080/w with number_of_redirections=1parse_redirect_actions ROUTABLE fill (HttpConfig.cc:1782-1787); OSDNSLookup action mapRecon / SSRF (lab-proven): ATS follows as ROUTABLE. Client body ATS-REDIRECT-ZERO-NET-WITNESS. Remap skipped on the follow hop.
Same hop; Authorization / Cookie copiedHttpSM::redirect_requestIntegrity (inferred): those headers are not stripped on the follow hop. Not exercised as a write.
IPv4-mapped ::ffff:0:0/96same fill of ::/0Recon (inferred): sibling of CONNECT dest deny. Not exercised.

Lab-proven vs inferred: follow 0.0.0.1, loopback RETURN, routable FOLLOW, INADDR_ANY 400 are lab. IPv4-mapped and credential forward are inferred.

Requires: redirect.actions routable:follow (compiled default) and number_of_redirections > 0, or a plugin that sets a redirect URL. Default counter is 0.

Adjacent surface that stays closed

SurfaceLab
Loopback 127.0.0.1RETURN. Client never saw LOOPBACK-ONLY-SECRET. Stayed 302.
0.0.0.0 INADDR_ANY400 before the action map
Default number_of_redirections=0routable:follow unevaluated
RFC1918 / CGNAT / link-local / ::1RETURN via the DEFAULT fill
CONNECT dest deny 0.0.0.0/8already in default ip_allow.yaml
ESI include validator 0.0.0.0/8already private (CVE-2026-58178)
Plugin redirect counter resetclosed (CVE-2026-58189)

Not CVE-2026-58189. Not CVE-2026-58178. Those ranges were named on CONNECT and ESI. Follow-redirect did not get them.

Lab

python3 ats-redirect-zero-net-Abraxas-Labs.py

or

cd lab
./run.sh

Loopback 127.0.0.1:18790. Compose project ats-redirect-zero-net. Image ats-10.2.0-lab:local. Witness ATS-REDIRECT-ZERO-NET-WITNESS. Last line:

SUCCESS ats-redirect-zero-net follow-0.0.0.1=yes loopback-return=yes routable-follow=yes inaddr-any=400 remap_required=1 ATS-REDIRECT-ZERO-NET-WITNESS

The fix

Mark 0.0.0.0/8 and IPv4-mapped ::ffff:0:0/96 the same way default CONNECT dest deny and ESI IncludeUrlValidator already do. Loopback is not only 127/8. ats_is_ip_any rejecting 0.0.0.0 is not enough.

Until then, leave number_of_redirections at 0, or set redirect.actions so routable is RETURN. A plugin TSHttpTxnRedirectUrlSet still forces one hop.

References

  • github.com/apache/trafficserver tag 10.2.0 (b1df7334b39a878971c376da849e8da4984918b6)
  • src/proxy/http/HttpConfig.cc parse_redirect_actions
  • src/records/RecordsConfig.cc number_of_redirections / redirect.actions
  • src/api/InkAPI.cc TSHttpTxnRedirectUrlSet one-hop bump
  • Default CONNECT dest deny: configs/ip_allow.yaml.default
  • ESI contrast: IncludeUrlValidator 0.0.0.0/8 private (CVE-2026-58178)
  • CWE-918
Download Tool