Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ats-esi-unix-recvport — Apache Traffic Server 10.2.0 - 높음 - 원격 - SSRF - ESI unix recvport | Kitploit
도구/GitHubGitHub/abraxas/ats-esi-unix-recvport
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityLabs & Practice
GitHubabraxas/ats-esi-unix-recvport

ats-esi-unix-recvport

Apache Traffic Server 10.2.0 - 높음 - 원격 - SSRF - ESI unix recvport

저장소 보기
14일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - ats-esi-unix-recvport

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

ats-esi-unix-recvport

분류: SSRF 도달 범위: 원격

Apache Traffic Server 10.2.0 (b1df7334) - Apache Software Foundation

ESI FetchSM PluginVC가 대상 포트를 0으로 보고합니다. Remap은 포트 0을 UDS로 취급하고 include 스킴을 http+unix로 재작성하여, UDS 리스너 전용으로 의도된 map_with_recv_port http+unix:// 규칙과 일치하게 만듭니다. 그러면 겉보기에 공개된 것처럼 보이는 http://www.example.com/secret의 esi:include가 유닉스 소켓 오리진에 도달합니다. TCP GET /secret은 TCP 맵에 그대로 머무릅니다. 유닉스 recv-port 맵이 없는 CONTROL은 TCP 오리진을 인라인합니다(증거 없음). include 스킴 http+unix 자체는 2026년 7월 검증기에서 BAD_SCHEME입니다.

일반적인 esi.so와 map 하나로는 이 문제가 발생하지 않습니다. ESI와 최소 하나의 map_with_recv_port http+unix:// 줄이 필요합니다. 기본값은 remap_required: 1 및 number_of_redirections: 0입니다.

이것은 CVE-2026-58178이 아닙니다(비공개 리터럴, file://, 중첩 주석, 깊이 제한은 종료됨).

ID아직 CVE 없음
분류SSRF
도달 범위원격 (ESI vhost에 대한 비인증 HTTP)
CWECWE-918
CVSS높음: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
제품Apache Traffic Server
영향 받음10.2.0 (b1df7334b39a878971c376da849e8da4984918b6) ESI 및 map_with_recv_port http+unix
인증없음. ESI 플러그인. Recv-port 유닉스 맵.
라이선스GNU Affero GPL v3.0
랩127.0.0.1:18750 / 18751 전용. 이미지 ats-10.2.0-lab:local.

태그 10.2.0, 커밋 b1df7334b39a878971c376da849e8da4984918b6을 고정했습니다. 소스 빌드 이미지입니다.

공격자가 할 수 있는 일

remap에 map_with_recv_port http+unix://가 있는 ESI vhost에 대한 비인증 HTTP. 공격자가 영향을 줄 수 있는 include src(침해된 오리진, 저장된 ESI 또는 $(HTTP_HEADER{...})).

방법싱크권한
비인증 GET /page ESI include http://www.example.com/secretFetchSM 대상 포트 0이 map_with_recv_port http+unix://www.example.com/과 일치 (RemapProcessor.cc:87-114, PluginVC.h:274-278)정찰 / SSRF (랩 입증): 클라이언트 본문이 UDS 오리진의 ATS-ESI-UNIX-RECVPORT-WITNESS를 인라인함.
동일1차 쓰기 / 셸무결성: 없음. 1차 쓰기 없음. 셸 없음.
CONTROL 유닉스 recv-port 맵 없는 GET /pageTCP 오리진 include차단됨 (랩 입증): TCP-ORIGIN-OK를 인라인하며 증거 없음.
poc vhost에서 TCP 클라이언트 GET /secretTCP 맵차단됨 (랩 입증): TCP-ORIGIN-OK, 증거 없음.

랩 입증 vs 추론: 대조군 증거 없음, poc 페이지 증거 있음, poc TCP /secret 증거 없음: 랩. 저장된 ESI 또는 헤더 확장을 통한 src 영향은 문서화된 ESI 신뢰 모델이며 여기서 재입증되지 않았습니다. 랩 include는 /page의 정적 http://www.example.com/secret입니다.

필요 사항: ESI 플러그인 및 map_with_recv_port http+unix. 기본값 remap_required: 1. number_of_redirections: 0.

차단된 상태로 유지되는 인접 표면

표면실습
unix recv-port 맵이 없는 CONTROLcontrol-no-witness=yes, TCP-ORIGIN-OK 인라인
TCP 클라이언트 GET /secretpoc-tcp-secret-no-witness=yes
스킴 http+unix 포함검증기 BAD_SCHEME
file://, 사설 리터럴, 중첩 주석, 깊이 상한CVE-2026-58178 종료됨
DNS 없는 호스트명 거부 목록문서화됨; remap_required: 1에서 무효
remap_required: 1 미스404
number_of_redirections: 0Location 추적 꺼짐

발견 경위

PluginVCCore는 passive_addr_struct를 0으로 초기화합니다. PluginHttpConnectInternal은 active_addr(원래 클라이언트)만 설정합니다. FetchSM의 HttpSM은 passive PluginVC에서 실행됩니다. attach_client_session은 netvc->get_local_addr()을 client_info.dst_addr에 복사합니다. passive 로컬 주소는 0으로 초기화된 구조체입니다. host_order_port()는 0입니다.

리맵 조회(RemapProcessor.cc:87-114): 포트 0은 UDS를 의미합니다. 스킴은 http -> http+unix로 재작성되어 map_with_recv_port http+unix://가 일치합니다. 단위 테스트 test_RemapRules.cc:237-240이 이를 문서화합니다.

7월 검증기는 include 스킴 http+unix를 거부합니다. 그러나 dest 포트가 0이어서 내부 리맵 홉이 unix가 된 http:// include는 거부하지 않습니다.

잘못된 접근: 일반적인 esi.so + 하나의 map을 이 잔여물로 간주한 것(CONTROL이 아님을 증명함); DNS 없는 호스트명 거부 목록을 제출한 것(문서화됨, remap_required=1에서 무효); file://이 여전히 작동한다고 주장한 것; TCP /secret이 unix 맵을 따를 것으로 기대한 것.

극적인 요소: 리버스 셸. 오라클은 UDS 오리진에서 인라인된 증인이며, TCP /secret은 여전히 TCP입니다.

실습

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

또는

cd lab
./run.sh

루프백 poc 127.0.0.1:18750, 제어 127.0.0.1:18751. Compose 프로젝트 ats-esi-unix-recvport. 이미지 ats-10.2.0-lab:local. Witness ATS-ESI-UNIX-RECVPORT-WITNESS. 마지막 줄:

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

수정 사항

FetchSM PluginVC 대상 포트 0을 UDS 수신 포트 일치로 취급하지 마십시오. 실제 UDS 리스너에 대해서는 map_with_recv_port http+unix://를 유지하십시오. http://host/의 ESI 포함은 해당 호스트에 대한 http+unix 수신 포트 규칙이 존재하더라도 TCP 맵에 남아 있어야 합니다.

참고 자료

  • github.com/apache/trafficserver 태그 10.2.0 (b1df7334b39a878971c376da849e8da4984918b6)
  • PluginVC.h 제로화된 수동 주소
  • PluginHttpConnect.cc
  • RemapProcessor.cc 포트 0 -> http+unix
  • test_RemapRules.cc
  • CWE-918
도구 다운로드