
tar npm 패키지(v7.5.3)의 경쟁 조건(race condition)을 시연하는 개념 증명으로, 병렬 추출 중 파일 충돌을 유발하여 데이터 손상 또는 덮어쓰기를 초래합니다.
CVE-2026-23950에 대한 개념 증명 - tar 패키지의 경쟁 조건 취약점.
이 저장소는 tar npm 패키지(버전 7.5.3)의 경쟁 조건 취약점을 시연하며, 추출 중 파일 충돌을 허용합니다. 이 취약점은 대소문자를 구분하지 않는 충돌로 인해 collision_ss와 collision_ß가 동일한 파일로 처리될 수 있는 유니코드 정규화 차이를 악용합니다.
이 익스플로잇은 두 개의 파일이 포함된 tar 아카이브를 생성합니다:
collision_ss - 1000개의 'A' 문자 포함collision_ß - 1000개의 'B' 문자 포함병렬 처리가 활성화된 상태(jobs: 8)로 추출하면 경쟁 조건으로 인해 이러한 파일이 충돌하여 다음과 같은 결과가 발생할 수 있습니다:
npm install
node index.js
경쟁 조건이 성공적으로 악용된 경우:
[*] GOOD이 표시됨취약점이 트리거되지 않은 경우:
[-] No collision이 표시됨이 취약점은 다음과 같은 문제를 일으킬 수 있습니다:
사용 가능한 경우 tar 패키지의 패치된 버전으로 업데이트하세요.
이 코드는 교육 및 연구 목적으로만 제공됩니다. 이 익스플로잇을 악의적인 목적으로 사용하지 마십시오.