🇰🇷 한글 설명
PraisonAI 1.5.128부터 1.6.57 버전의 web_crawl() 함수에서 서버 측 요청 위조(SSRF) 취약점이 발견되었습니다. 초기 URL 검증은 수행하지만, 리다이렉트 과정에서 발생하는 중간 또는 최종 목적지에 대한 재검증이 누락되어 내부 네트워크나 클라우드 메타데이터 엔드포인트에 접근할 수 있습니다. 이는 이전의 SSRF 취약점에 대한 불완전한 수정으로 인해 발생한 패치 우회 문제입니다.
💡 쉬운 설명
웹 페이지 내용을 읽어오는 기능이 리다이렉트(자동 연결) 기능을 제대로 검사하지 못해 발생하는 문제입니다. 공격자가 가짜 주소를 이용해 서버 내부의 중요한 정보나 관리자 페이지에 몰래 접근할 수 있습니다.
🇺🇸 원문 (English)
PraisonAI is a multi-agent teams system. In versions 1.5.128 through 1.6.57, the praisonaiagents.tools.web_crawl_tools.web_crawl() function is vulnerable to server-side request forgery. While it validates the initially supplied URL and blocks direct loopback and private destinations, its default httpx fallback uses httpx.Client(follow_redirects=True) and does not revalidate intermediate or final redirect targets. An attacker who can influence a URL passed to web_crawl(), directly or through an agent or tool workflow, can supply an attacker-controlled public URL that passes the initial host check and then redirects to loopback, private-network, or cloud metadata endpoints reachable from the host, with the redirected response body returned in the web_crawl() result. This constitutes an incomplete fix and patch bypass for the previously disclosed web_crawl SSRF class (GHSA-qq9r-63f6-v542 / CVE-2026-40160 and GHSA-8f4v-xfm9-3244), since the guard validates only the requested URL and not the destination actually fetched after redirection. This issue has been fixed in version 1.6.58.
📍 영향받는 시스템
PraisonAI versions 1.5.128 through 1.6.57
⚔️ 공격 벡터
공격자가 제어하는 외부 URL을 입력하여, 해당 URL이 내부 네트워크 주소로 리다이렉트되도록 유도하는 방식
🛡️ 대응 방법
PraisonAI를 취약점이 해결된 버전인 1.6.58 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 1.6.58 미만(1.5.128 ~ 1.6.57 사이)이면 취약한 상태입니다.
pip show praisonai | grep Version