🔍 CVE-2014-6394

7.5
CVSS Score
HIGH
2014-10-08
2026-06-17 00:13
✅ 완료

🇰🇷 한글 설명

visionmedia send 0.8.4 이전 버전에서 디렉토리가 문서 루트 내에 있는지 확인할 때 부분 비교를 사용하여 경로 검증이 우회됩니다. 이를 통해 공격자가 "public" 디렉토리 내의 "public-restricted" 같은 디렉토리에 접근하여 제한된 리소스에 도달할 수 있습니다.

💡 쉬운 설명

서버가 파일 접근 권한을 확인할 때 경로명의 일부만 비교해서 발생하는 문제입니다. 공격자가 경로 이름을 조작하면 접근이 차단돼야 할 파일들을 볼 수 있게 됩니다.

🇺🇸 원문 (English)

visionmedia send before 0.8.4 for Node.js uses a partial comparison for verifying whether a directory is within the document root, which allows remote attackers to access restricted directories, as demonstrated using "public-restricted" under a "public" directory.

📍 영향받는 시스템

visionmedia send npm 패키지 버전 0.8.3 이하 (Node.js 애플리케이션)

⚔️ 공격 벡터

HTTP 요청 경로에 "public-restricted" 같은 이름의 디렉토리를 포함시키면 경로 비교 로직을 우회하여 접근

🛡️ 대응 방법

visionmedia send를 0.8.4 이상으로 업그레이드하거나 다른 정적 파일 제공 미들웨어(express.static 등) 사용

🔧 검증 코드

설치된 send 패키지 버전이 0.8.0~0.8.3 범위에 있으면 취약, 0.8.4 이상이거나 미설치면 안전

Shell / Script
npm list send 2>/dev/null | grep -E 'send@0\.8\.[0-3]' && echo 'Vulnerable' || echo 'Safe or not installed'

📊 CVSS Vector String

CVSS Vector
AV:N/AC:L/Au:N/C:P/I:P/A:P

💻 영향받는 소프트웨어

Node.js