Wiz가 Google Cloud에 합류: 함께 마법을 만드는 것
취약성 데이터베이스GHSA-49wc-vv82-h8j7

GHSA-49wc-vv82-h8j7: 
Python 취약성 분석 및 완화

Summary

HARP proxies a request to the upstream URL configured for the endpoint it hits. A client of the proxy port can override that upstream: a request whose path carries an absolute URL (for example GET /http://169.254.169.254/latest/meta-data/ HTTP/1.1) makes HARP drop the configured host and send the request to the host named in the path instead. HARP returns the upstream response to the client, so it acts as an open proxy and a server-side request forgery (SSRF) primitive.

Impact

Any HARP deployment on an affected version is exposed: every configured endpoint forwards to whatever origin the client writes into the request path. An unauthenticated client that can reach a proxy listen port can make HARP issue requests to arbitrary hosts and read the responses. This includes hosts the client cannot reach directly: cloud instance metadata (169.254.169.254), internal APIs and admin panels, and other services inside the deployment's network. No egress allow-list exists in the default configuration, and the proxy port carries no client authentication, so the only precondition is network reach to the port.

Patches

Fixed in 0.10.0. The forwarded URL is now built from the path component alone, pinned to the endpoint's configured origin, so a host named in the request path can no longer change it. Upgrade to 0.12.0 (or 0.11.1) to also pick up the later dot-segment containment hardening.

Workarounds

  • Put a reverse proxy in front of HARP that rejects any request target that is not origin-form, i.e. one that contains a scheme (http:, https:) or an authority in the path.
  • Restrict network access to the proxy listen ports to trusted clients only.
  • Firewall HARP's own egress so it cannot reach internal or metadata endpoints. Upgrading is the only complete fix.

Details

Root cause is in harp_apps/proxy/controllers.py, AbstractHttpProxyController._get_next_url_for. Through 0.9.1 it computed: relative_url = context.request.path.lstrip("/") return base_url, urljoin(base_url, relative_url) + ... context.request.path is attacker-controlled. When it carries a scheme and host (http://evil/...), urljoin(base_url, "http://evil/...") discards base_url's host and returns the attacker's URL; the lstrip("/") blocked the protocol-relative //host form but not the absolute scheme://host form. The result is forwarded with no check that it stays on the configured upstream origin. 0.10.0 takes only the path component of the incoming request, refuses control characters and dot segments, and reconstructs the forwarded URL from the endpoint's own scheme and host, so the origin is fixed by construction and a host in the request path has no effect.

PoC

Point an endpoint at a harmless upstream A and run a second server B as the "internal" target: harp-proxy server --endpoint api=4860:http://127.0.0.1:4861/ Then, against a vulnerable version: curl --path-as-is 'http://127.0.0.1:4860/http://127.0.0.1:4862/pwned' HARP forwards the request to 127.0.0.1:4862 (B) instead of the configured 127.0.0.1:4861 (A) and returns B's response. On 0.10.0 and later the request stays on A (B is never contacted).


근원: 네비디(NVD)

관련 Python 취약점:

CVE ID

심각도

점수

기술

구성 요소 이름

CISA KEV 익스플로잇

수정 사항이 있습니다.

게시된 날짜

GHSA-49wc-vv82-h8j7CRITICAL9.3
  • Python logoPython
  • harp-proxy
아니요예Oct 24, 2026
GHSA-jpw8-42g9-g437HIGH7.4
  • Python logoPython
  • harp-proxy
아니요아니요Oct 24, 2026
GHSA-vvjr-4qwm-6xjxMEDIUM4.8
  • Python logoPython
  • harp-proxy
아니요아니요Oct 24, 2026
GHSA-rr87-p3f8-qhxjHIGH해당 사항 없음
  • Python logoPython
  • memtomem
아니요예Oct 24, 2026
GHSA-3v6c-9qpg-gf63HIGH해당 사항 없음
  • Python logoPython
  • memtomem-stm
아니요예Oct 24, 2026

무료 취약성 평가

클라우드 보안 태세를 벤치마킹합니다

9개의 보안 도메인에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 식별합니다.

평가 요청

추가 Wiz 리소스

맞춤형 데모 받기

맞춤형 데모 신청하기

"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
데이비드 에슬릭최고정보책임자(CISO)
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
아담 플레처최고 보안 책임자(CSO)
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."
그렉 포니아토프스키위협 및 취약성 관리 책임자