CVE-2026-76844 in webpack-dev-middleware정보

요약

\~에 의해 VulDB • 2026. 08. 25.

webpack-dev-middleware는 getFilenameFromUrl에서 요청 경로명을 트래버설 가드와 대조한 후 고정 문자 오프셋에서 슬라이싱하여 로컬 파일에 대한 요청을 해결합니다. path.normalize(`./${pathname}`)에 적용되는 UP_PATH_REGEXP라는 이 가드는 전체 경로 구성 요소로 서 있는 ".."에만 일치하며, 포함 테스트는 pathname.startsWith(publicPathPathname)이라는 문자열 비교이고, 파일 경로는 path.join(outputPath, pathname.slice(publicPathPathname.length))로 구축됩니다. 구성된 publicPath 끝에 슬래시가 없는 경우, GET /assets../.env와 같은 요청이 publicPath /assets에 대해 발생하면 경로명(/assets../.env)의 유일한 dot-dot은 "assets.."라는 구성 요소 내부에 위치하여 가드를 통과하지만, 오프셋 슬라이싱은 해당 구성 요소 내에서 잘려 path.join에 "../.env"를 전달하며 outputPath보다 한 디렉토리 위를 해결합니다. 해당 경로의 파일을 읽으려면 미들웨어가 물리적 파일 시스템으로 지원되어야 하는데, 이는 writeToDisk가 true이거나 사용자 지정 outputFileSystem이 제공될 때 발생하며(기본 memfs 볼륨은 빌드 출력만 보유함), 트래버설 깊이는 URL 파싱 중 별도로 구분된 dot-dot 구성 요소가 가드가 실행되기 전에 병합되므로 단일 디렉토리까지만 제한됩니다. 기본 publicPath 값인 "auto"는 "/"로 해결되며 영향을 받지 않습니다. 이는 CVE-2024-29180에 대한 불완전한 수정입니다: 가드와 오프셋 슬라이싱은 해당 수정으로 인해 도입되었으며, 5.3.4, 6.1.2 및 7.1.0 이상의 모든 릴리스에서 존재합니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

VulnCheck

예약하다

2026. 08. 19.

모더레이션

수락

항목

VDB-394673

EPSS

0.00000

활동

낮음

출처

Want to stay up to date on a daily basis?

Enable the mail alert feature now!