🇰🇷 한글 설명
Pydantic AI 프레임워크에서 IPv6 zone identifier를 사용하여 클라우드 메타데이터 차단 목록을 우회할 수 있는 취약점이 발견되었습니다. 공격자가 조작된 URL을 통해 로컬 네트워크 접근을 허용하도록 설정된 경우, IPv6 주소 비교 로직의 허점을 이용해 클라우드 IAM 자격 증명을 탈취할 수 있습니다. 이 문제는 IPv6가 활성화된 환경에서 특정 옵션이 활성화되었을 때 발생합니다.
💡 쉬운 설명
인공지능 프로그램이 특정 주소를 차단하도록 설정되어 있어도, 주소 뒤에 특수 기호를 붙여 차단을 교묘하게 피할 수 있는 문제입니다. 이를 통해 해커가 클라우드 서버의 중요한 비밀번호나 권한 정보를 몰래 가져갈 위험이 있습니다.
🇺🇸 원문 (English)
Pydantic AI is a Python agent framework for building applications and workflows with Generative AI. From 1.56.0 until 1.107.6 and 2.44.0, applications that opt attacker-influenced URLs into local network access through FileUrl with force_download='allow-local' or web_fetch_tool with allow_local_urls=True can bypass the cloud-metadata blocklist by appending an IPv6 zone identifier to an IPv6 metadata address. IPv6Address equality and hashing include the zone identifier, so the blocklist comparison fails even though the network stack ignores the zone on a non-link-local destination and reaches the metadata service, potentially exposing cloud IAM credentials. The opt-in settings are disabled by default, and the issue requires an IPv6-enabled environment. This issue is fixed in versions 1.107.6 and 2.44.0.
📍 영향받는 시스템
Pydantic AI versions 1.56.0 to 1.107.6 and 2.44.0
⚔️ 공격 벡터
IPv6 주소 뒤에 zone identifier를 추가하여 메타데이터 서비스 차단 목록을 우회하는 방식
🛡️ 대응 방법
Pydantic AI를 버전 1.107.6 또는 2.44.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 1.107.6 또는 2.44.0보다 낮은지 확인하십시오.
pip show pydantic-ai | grep Version