🔍 CVE-2026-39859

7.5
CVSS Score
HIGH
2026-04-08
2026-07-24 21:10
✅ 완료

🇰🇷 한글 설명

LiquidJS는 JavaScript 기반의 템플릿 엔진입니다. 10.25.3 이전 버전에서 renderFile() 및 parseFile() 함수가 루트 디렉토리 경계를 제대로 강제하지 않는 취약점이 발견되었습니다. 특히 루트 디렉토리가 빈 임시 디렉토리로 설정된 경우, 공격자가 서버의 임의 파일을 읽을 수 있습니다.

💡 쉬운 설명

웹사이트 화면을 만드는 도구의 보안 설정에 구멍이 생겨 발생한 문제입니다. 이 틈을 통해 공격자가 서버에 저장된 민감한 비밀 파일들을 몰래 훔쳐볼 수 있습니다.

🇺🇸 원문 (English)

LiquidJS is a Shopify / GitHub Pages compatible template engine in pure JavaScript. Prior to 10.25.3, liquidjs 10.25.0 documents root as constraining filenames passed to renderFile() and parseFile(), but top-level file loads do not enforce that boundary. A Liquid instance configured with an empty temporary directory as root can return the contents of arbitrary files. This vulnerability is fixed in 10.25.3.

📍 영향받는 시스템

liquidjs 10.25.0 이상 10.25.3 미만 버전

⚔️ 공격 벡터

부적절한 경로 검증을 이용한 임의 파일 읽기 (Arbitrary File Read)

🛡️ 대응 방법

liquidjs 패키지를 10.25.3 버전 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전 번호가 10.25.3보다 낮을 경우 취약한 상태입니다.

Shell / Script
npm list liquidjs | grep -E 'liquidjs@([0-9.]+)'

📊 CVSS Vector String

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