🔍 CVE-2026-6410

5.3
CVSS Score
MEDIUM
2026-04-16
2026-06-17 11:00
✅ 완료

🇰🇷 한글 설명

@fastify/static 8.0.0~9.1.0 버전에서 디렉토리 리스팅이 활성화되었을 때 경로 순회 취약점이 발견되었습니다. dirList.path() 함수가 path.join()을 사용하면서 포함 검사 없이 설정된 정적 루트 외부의 디렉토리를 해석하여 인증되지 않은 공격자가 임의의 디렉토리 목록을 조회할 수 있습니다. 디렉토리 및 파일명이 노출되지만 파일 내용은 노출되지 않습니다.

💡 쉬운 설명

웹사이트 파일을 제공하는 도구에서 폴더 목록을 보는 기능이 켜져 있을 때, 원하지 않는 폴더의 내용을 조회할 수 있는 취약점입니다. 파일명은 보이지만 파일 내용은 볼 수 없습니다.

🇺🇸 원문 (English)

@fastify/static versions 8.0.0 through 9.1.0 allow path traversal when directory listing is enabled via the list option. The dirList.path() function resolves directories outside the configured static root using path.join() without a containment check. A remote unauthenticated attacker can obtain directory listings for arbitrary directories accessible to the Node.js process, disclosing directory and file names. File contents are not disclosed. Upgrade to @fastify/static 9.1.1 to fix this issue. As a workaround, disable directory listing by removing the list option from the plugin configuration.

📍 영향받는 시스템

@fastify/static 8.0.0 ~ 9.1.0 (디렉토리 리스팅 활성화된 경우)

⚔️ 공격 벡터

원격 비인증 공격자가 경로 순회 기법으로 설정된 루트 밖의 임의 디렉토리 목록 요청

🛡️ 대응 방법

@fastify/static를 9.1.1 이상으로 업그레이드하거나 플러그인 설정에서 list 옵션 제거

🔧 검증 코드

8.x, 9.0.x, 9.1.0이 표시되면 취약점 있음; 9.1.1 이상 또는 list 옵션 미활성화 확인 필요

Shell / Script
npm list @fastify/static 2>/dev/null | grep -oE '@fastify/static@[0-9]+\.[0-9]+\.[0-9]+'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Node.js