🇰🇷 한글 설명
pathe 2.0.3 버전은 POSIX 시스템에서도 백슬래시(\)를 슬래시(/)로 무조건 정규화합니다. 이로 인해 join(), resolve(), normalize() 함수가 백슬래시로 구분된 점 표기법(dot notation)을 디렉토리 트래버설로 해석하게 되어, 서버 측 애플리케이션의 입력 검증을 우회하는 경로 탐색 공격이 가능해집니다.
💡 쉬운 설명
파일 경로를 다루는 프로그램이 백슬래시(\)를 슬래시(/)로 멋대로 바꿔버리는 문제입니다. 이 과정에서 공격자가 파일 경로를 조작하여 서버의 중요한 파일에 접근할 수 있는 보안 구멍이 생깁니다.
🇺🇸 원문 (English)
pathe through 2.0.3 unconditionally normalizes backslash characters to forward slashes on all platforms, including POSIX systems where backslash is a valid filename character. This causes join(), resolve(), and normalize() to interpret backslash-separated dot notation sequences as directory traversal, diverging from Node.js path.posix behavior and enabling path traversal attacks that bypass common input validation in server-side applications. NOTE: the Supplier reports that "the behavior is documented, intentional, and identical in spirit to path.win32."
📍 영향받는 시스템
pathe 2.0.3 및 이전 버전
⚔️ 공격 벡터
백슬래시(\)를 포함한 특수 경로 문자열을 입력하여 디렉토리 트래버설(Path Traversal) 공격 수행
🛡️ 대응 방법
pathe 라이브러리를 최신 보안 패치 버전으로 업데이트하거나, 입력값 검증 시 백슬래시를 포함한 경로 조작을 차단하도록 로직 수정
💻 영향받는 소프트웨어
IBM WebSphere Application Server