🇰🇷 한글 설명
Tinypool 2.1.1 미만 버전에서 Object.prototype 오염을 통해 worker_threads의 execArgv 및 env 옵션에 악의적인 값이 주입될 수 있는 취약점이 발견되었습니다. 공격자는 이를 통해 새로운 워커 스레드가 공격자가 선택한 자바스크립트를 로드하도록 유도하여 호스트 프로세스 권한으로 임의 코드를 실행할 수 있습니다. 이 취약점은 CI 비밀 정보나 빌드 결과물 탈취로 이어질 수 있습니다.
💡 쉬운 설명
프로그램의 기본 설정값이 오염될 경우, 새로운 작업 프로세스가 실행될 때 해커가 심어놓은 악성 코드가 함께 실행될 수 있는 문제입니다. 이를 통해 해커는 컴퓨터의 중요한 정보나 비밀번호를 훔쳐갈 수 있습니다.
🇺🇸 원문 (English)
Tinypool is a minimal Node.js worker thread pool implementation. Prior to 2.1.1, Tinypool constructs ThreadPool.options from a normal options object and reads the execArgv and env worker options in dist/index.js, allowing values inherited from a polluted Object.prototype to be copied into own properties and passed to worker_threads.Worker. An attacker who can first pollute either property can cause each newly spawned worker to load attacker-selected JavaScript through command-line preload arguments or NODE_OPTIONS, resulting in code execution with the host process's privileges and possible access to CI secrets, signing material, or build artifacts. This issue is fixed in version 2.1.1.
📍 영향받는 시스템
Tinypool 2.1.1 미만 버전
⚔️ 공격 벡터
Object.prototype 오염을 통한 worker_threads 옵션 주입 및 악성 스크립트 로드
🛡️ 대응 방법
Tinypool을 2.1.1 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 tinypool의 버전이 2.1.1 미만인지 확인하십시오.