VU#949137: Langchaingo는 구문 분석을... 노트

VU#949137: Langchaingo는 구문 분석을 위해 jinja2와 gonja를 지원하여 임의의 파일 읽기를 허용합니다.

LangChainGo, LLM 프레임워크 LangChain의 Go 구현체에 치명적인 임의 파일 읽기 취약점이 존재합니다. CVE-2025-9556으로 식별된 이 취약점은 Jinja2 구문을 지원하는 Gonja 템플릿 엔진을 사용하기 때문에 발생합니다. 공격자는 프롬프트에 악성 콘텐츠를 주입하여 서버 측 템플릿 주입을 트리거함으로써 이 취약점을 악용할 수 있습니다. Gonja 엔진은 {% include %}와 같은 지시어를 통해 외부 파일을 포함할 수 있으므로, 공격자는 이를 이용하여 /etc/password와 같은 민감한 파일을 읽어 시스템 기밀성을 침해할 수 있습니다. LangChainGo로 구축된 챗봇 애플리케이션의 경우, 공격자는 프롬프트 접근 권한만 있으면 이 결함을 악용할 수 있습니다. 이 취약점은 피해자 서버에 저장된 민감한 정보에 대한 무단 접근을 허용하며, 이는 추가적인 시스템 침해로 이어질 수 있습니다. 다행히 LangChainGo 유지보수자는 이 문제를 해결하는 업데이트를 출시했습니다. 새로운 버전에는 기본적으로 파일 시스템 접근을 차단하는 안전한 RenderTemplateFS 함수가 포함되어 있습니다. 사용자는 이 보안 위험을 완화하기 위해 최신 버전으로 업데이트하는 것이 강력히 권장됩니다.