🔍 CVE-2026-48116

7.5
CVSS Score
HIGH
2026-05-28
2026-07-21 10:10
✅ 완료

🇰🇷 한글 설명

AnythingLLM 1.13.0 이전 버전의 filesystem-search-files 에이전트에서 ripgrep 패턴 파라미터가 옵션 종료 구분자(--) 없이 전달되어, 공격자가 --pre 옵션을 통해 임의 명령을 실행할 수 있습니다. 기본 Docker 이미지에 filesystem 플러그인이 활성화되어 있어 채팅 인터페이스를 통한 직접적인 공격이 가능합니다.

💡 쉬운 설명

AnythingLLM 서버는 파일 검색 기능에서 사용자 입력을 제대로 검증하지 않아, 특수한 명령어를 통해 서버 내부에서 원하는 프로그램을 실행할 수 있게 해줍니다. 이를 파일 쓰기 기능과 조합하면 공격자가 서버를 완전히 장악할 수 있습니다.

🇺🇸 원문 (English)

AnythingLLM is an application that turns pieces of content into context that any LLM can use as references during chatting. Prior to 1.13.0, the filesystem-search-files agent skill passes its LLM-controlled pattern parameter to ripgrep as a positional argument without a -- end-of-options separator. ripgrep parses any argument that starts with - as an option, so a pattern of --pre=/bin/sh turns ripgrep into a script executor: it runs /bin/sh <file> for every file it walks. An attacker who can chat with an agent on a deployment with the filesystem plugin enabled (the default in the official Docker image) can use this, together with the sibling filesystem-write-text-file skill, to run arbitrary commands inside the AnythingLLM server container. This vulnerability is fixed in 1.13.0.

📍 영향받는 시스템

AnythingLLM < 1.13.0 (filesystem-search-files 에이전트 활성화된 배포)

⚔️ 공격 벡터

채팅 인터페이스에서 filesystem-search-files 에이전트에 --pre=/bin/sh 패턴 입력 후 filesystem-write-text-file을 통해 임의 명령 실행

🛡️ 대응 방법

AnythingLLM을 1.13.0 이상으로 업그레이드하거나, filesystem 플러그인 비활성화

🔧 검증 코드

1.13.0 미만의 버전이 표시되면 취약함 (예: 1.12.0, 1.12.5). 1.13.0 이상이거나 'not found'가 표시되면 안전함

Shell / Script
grep '"version"' /app/package.json 2>/dev/null | head -1 || echo 'AnythingLLM not found'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Docker