🔍 CVE-2026-111171

5.4
CVSS Score
MEDIUM
2026-10-15
2026-10-16 18:25
✅ 완료

🇰🇷 한글 설명

Web3.py의 특정 버전에서 CCIP Read URL 검증 시 IPv4-mapped IPv6 주소를 제대로 처리하지 못해 서버 측 요청 위조(SSRF) 취약점이 발생합니다. 악성 컨트랙트가 IPv4-mapped IPv6 호스트나 AAAA 레코드를 포함한 URL을 반환하면, 클라이언트가 루프백 또는 내부 네트워크 서비스로 요청을 보내게 유도할 수 있습니다.

💡 쉬운 설명

웹3 라이브러리가 주소를 검사할 때 특정 형식의 주소를 제대로 걸러내지 못하는 결함이 있습니다. 이를 통해 해커가 사용자의 컴퓨터 내부 네트워크에 몰래 접근하도록 유도할 수 있습니다.

🇺🇸 원문 (English)

Web3.py 7.15.0 through 7.16.0 and 8.0.0b2 through 8.0.0 contains a server-side request forgery vulnerability because _check_ip_blocked() does not unwrap IPv4-mapped IPv6 addresses in CCIP Read URL validation. Malicious contracts can return OffchainLookup URLs with IPv4-mapped IPv6 hosts or AAAA records, making clients with CCIP Read enabled send requests to loopback, private, or link-local services.

📍 영향받는 시스템

Web3.py 7.15.0 ~ 7.16.0 및 8.0.0b2 ~ 8.0.0

⚔️ 공격 벡터

악성 스마트 컨트랙트가 조작된 OffchainLookup URL을 반환하여 클라이언트의 내부 네트워크로 SSRF 공격 수행

🛡️ 대응 방법

Web3.py를 취약점이 해결된 최신 버전으로 업데이트하십시오.

🔧 검증 코드

출력된 버전이 취약 범위(7.15.0-7.16.0 또는 8.0.0b2-8.0.0)에 포함되는지 확인하십시오.

Shell / Script
pip show web3 | grep Version

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N