🇰🇷 한글 설명
IBM Langflow OSS 1.0.0부터 1.10.1까지의 버전에서, 공격자가 피해자와 동일한 Chroma persist_directory 및 collection_name 값을 가진 자체 플로우를 생성하면 피해자의 비공개 벡터 문서에 접근할 수 있습니다. 공격자는 피해자의 플로우에 대한 권한이 없어도 워크플로우 출력에서 피해자의 정확한 내용을 받을 수 있으며, 공유 네임스페이스에 자신의 문서를 삽입하여 피해자의 컬렉션을 오염시킬 수도 있습니다.
💡 쉬운 설명
다른 사용자가 저장해 둔 비공개 문서 내용을, 같은 저장 위치 이름만 맞추면 공격자가 훔쳐볼 수 있는 취약점입니다. 공격자는 가짜 문서를 섞어 넣어 상대의 자료도 망가뜨릴 수 있습니다.
🇺🇸 원문 (English)
IBM Langflow OSS 1.0.0 through 1.10.1 can allow an attacker to access another user's private vector documents by creating their own flow with matching Chroma persist_directory and collection_name values. The attacker receives exact victim content in their workflow output despite having no authorization to read the victim's flow. Additionally, the attacker can pollute the victim's collection by inserting their own documents into the shared namespace.
📍 영향받는 시스템
IBM Langflow OSS 1.0.0 ~ 1.10.1
⚔️ 공격 벡터
공격자가 피해자와 동일한 Chroma persist_directory 및 collection_name을 사용하는 플로우를 생성해 타인의 벡터 문서를 조회하거나 오염시킴
🛡️ 대응 방법
IBM 공식 보안 권고에 따라 Langflow를 1.10.1 초과의 패치된 버전으로 업그레이드하고, 사용자별로 격리된 persist_directory 및 collection_name을 사용하도록 설정
🔧 검증 코드
출력된 버전이 1.0.0 이상 1.10.1 이하이면 취약한 것이며, 1.10.1을 초과하는 패치 버전이면 해당 취약점에 대응된 것입니다. 명령 결과가 없으면 pip로 설치되지 않은 것입니다.
pip show langflow 2>/dev/null | grep -i '^version'