🇰🇷 한글 설명
Pydantic AI 프레임워크의 web_fetch_tool에서 차단된 도메인 목록을 검사할 때 URL 호스트네임 정규화 과정에 결함이 있습니다. 공격자가 IDNA 철자, 비 ASCII 라벨 구분자, 대소문자 변형 등을 사용하여 차단된 호스트와 일치하지 않는 것처럼 속여 차단을 우회할 수 있습니다. 이로 인해 애플리케이션이 권한을 가진 상태로 허용되지 않은 호스트에 접속할 위험이 있습니다.
💡 쉬운 설명
AI가 웹사이트 정보를 가져올 때 특정 사이트 접속을 막아두었음에도, 글자 표기 방식을 교묘하게 바꾸면 차단 목록을 피해 접속할 수 있는 문제입니다. 이를 통해 공격자가 의도한 위험한 사이트에 AI가 대신 접속하게 만들 수 있습니다.
🇺🇸 원문 (English)
Pydantic AI is a Python agent framework for building applications and workflows with Generative AI. From 1.77.0 until 1.107.6 and 2.44.0, the local web_fetch_tool and the WebFetch local fallback compare blocked_domains entries with a URL hostname before both values are normalized to the form used by getaddrinfo. An attacker-influenced model can use an equivalent IDNA spelling, non-ASCII label separator, case variation, or trailing root label that resolves to a blocked host but does not match the configured string, causing the application to fetch that host with its own privileges. allowed_domains fails closed for unmatched spellings, and private-IP and cloud-metadata protections remain effective. This issue is fixed in versions 1.107.6 and 2.44.0.
📍 영향받는 시스템
Pydantic AI versions 1.77.0 to 1.107.6 and 2.44.0
⚔️ 공격 벡터
IDNA 철자 변형, 비 ASCII 라벨, 대소문자 차이 등을 이용한 URL 호스트네임 우회 공격
🛡️ 대응 방법
Pydantic AI를 버전 1.107.6 또는 2.44.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 1.107.6 미만이거나 2.44.0 미만인 경우 취약한 상태입니다.
pip show pydantic-ai | grep Version