🔍 CVE-2026-10595

7.5
CVSS Score
HIGH
2026-08-09
2026-10-23 20:10
✅ 완료

🇰🇷 한글 설명

parisneo/lollms 2.1.0 버전의 backend/routers/ui.py 내 SPA catch-all 라우트에서 경로 탐색(Path Traversal) 취약점이 발견되었습니다. URL 인코딩된 점-점(%2e%2e) 시퀀스가 Starlette의 경로 정규화 과정을 우회하여 Python의 pathlib에 의해 해석됨으로써, 인증되지 않은 공격자가 서버의 임의 파일을 읽을 수 있습니다.

💡 쉬운 설명

해커가 특수하게 조작된 주소를 입력하여 서버 내부의 중요한 파일들을 몰래 훔쳐볼 수 있는 보안 약점입니다. 웹사이트의 주소창에 특정 기호를 입력하는 것만으로도 서버의 비밀 파일을 읽을 수 있습니다.

🇺🇸 원문 (English)

A path traversal vulnerability exists in parisneo/lollms version 2.1.0, specifically in the SPA catch-all route implemented in `backend/routers/ui.py`. The vulnerability arises from the improper handling of user-controlled path input, which is directly joined into a filesystem path without sanitization or containment checks. URL-encoded dot-dot sequences (`%2e%2e`) bypass Starlette's built-in path normalization and are resolved by Python's `pathlib`, allowing an unauthenticated attacker to read arbitrary files on the server. This issue has been resolved in version 3.

📍 영향받는 시스템

parisneo/lollms version 2.1.0

⚔️ 공격 벡터

URL 인코딩된 경로 탐색 문자열(%2e%2e)을 이용한 HTTP 요청

🛡️ 대응 방법

lollms 버전을 3.0 이상으로 업데이트

🔧 검증 코드

출력된 Version 값이 2.1.0이거나 그보다 낮은 버전이면 취약한 상태입니다.

Shell / Script
pip show lollms 2>/dev/null | grep -E 'Version'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Python