🇰🇷 한글 설명
AnythingLLM 1.11.1부터 1.14.1 버전 사이에서 발생하는 취약점으로, 파일 삭제 시 소유권 확인 절차가 누락되어 있습니다. 관리자나 관리 권한이 있는 사용자가 파일 ID를 열거함으로써 다른 사용자의 워크스페이스에 있는 파일을 임의로 삭제할 수 있습니다.
💡 쉬운 설명
프로그램의 권한 체크 오류로 인해, 관리자가 다른 사용자의 개인 파일을 허락 없이 삭제할 수 있는 문제입니다. 파일 번호만 알면 어떤 파일이든 지울 수 있는 위험이 있습니다.
🇺🇸 원문 (English)
AnythingLLM is an application that turns pieces of content into context that any LLM can use as references during chatting. From 1.11.1 until 1.14.1, userId/workspaceId scoping to the parsed-files read/delete paths was added. However, the POST /api/workspace/:slug/embed-parsed-file/:fileId flow still deletes the target file by primary key only, with no ownership check, inside two finally{} blocks that run even when the ownership-checked read fails. As a result a manager or admin (multi-user mode) can delete any other user's parsed file in any workspace — including workspaces they are not a member of — by enumerating integer fileIds. The server even returns "File not found" while still deleting the file. This vulnerability is fixed in 1.14.1.
📍 영향받는 시스템
AnythingLLM 버전 1.11.1 ~ 1.14.1
⚔️ 공격 벡터
정수형 파일 ID(fileId)를 순차적으로 대입하여 권한이 없는 파일을 삭제하는 ID 열거 공격
🛡️ 대응 방법
AnythingLLM을 최신 보안 패치가 적용된 1.14.1 이상의 버전으로 업데이트하십시오.
🔧 검증 코드
명령어 결과에 취약한 버전 범위(1.11.x ~ 1.14.x)가 나타나면 해당 버전이 설치된 상태입니다.
curl -s http://localhost:3001/api/version | grep -E '1\.(11|12|13|14)\.[0-9]+'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:N
💻 영향받는 소프트웨어
IBM WebSphere Application Server