무슨 일이 있었나
CVE-2026-126776(CWE-22)은 Windows에서 SiYuan의 kernel/util/webfetch.go에 있는 경로 탐색 결함으로, 3.8.10에서 수정되었습니다. MCP web_fetch 및 http_request 도구는 제공된 URL에서 파생된 경로에 가져온 콘텐츠를 씁니다; 백슬래시 인코딩(%5C)된 파일 이름은 의도된 가져오기 디렉토리를 이탈하여, 가져온 URL을 통제하는 공격자가 앱 사용자를 위해 임의의 쓰기 가능한 위치에 파일을 쓸 수 있습니다.
왜 중요한가
이것은 LLM이 구동하는 에이전트/앱의 MCP 도구 표면에 위치합니다: web_fetch/http_request는 호출 가능한 도구이므로, 조작된 URL(또는 가져온 콘텐츠의 프롬프트 주입 페이로드)은 호스트에서 임의 파일 쓰기 프리미티브가 됩니다 — 에이전트 배포에서 RCE 또는 구성 조작으로 가는 고전적인 발판입니다.
공격 경로
web_fetch/http_request MCP 도구는 결과 파일 경로를 적절히 제한하지 않습니다: 공격자가 통제하는 가져온 URL/응답의 백슬래시 인코딩된 파일 이름(%5C)이 탐색 포함 없이 해석되어, Windows에서 가져오기 디렉토리 외부에 파일을 쓸 수 있습니다. 에이전트가 가져오는 URL을 직접 통제하거나 가져온 콘텐츠의 프롬프트 주입을 통해 통제하는 공격자는 앱 사용자를 위해 임의의 쓰기 가능한 위치에 파일을 배치할 수 있습니다.
영향받는 시스템
SiYuan 3.7.0 ~ 3.8.10 미만(Windows) — kernel/util/webfetch.go web_fetch/http_request MCP 도구.
완화 방안
SiYuan을 3.8.10 이상으로 업그레이드하십시오. web_fetch/http_request 처리에서 백슬래시 정규화를 검토하고 가져오기 디렉토리 내 경로 포함을 강제하십시오.