🇰🇷 한글 설명
node-tesseract-ocr 패키지의 recognize() 함수에서 OS 명령어 주입 취약점이 발견되었습니다. 파일 경로 파라미터가 적절히 검증되지 않은 채 셸 명령어에 직접 연결되어 실행되기 때문입니다.
💡 쉬운 설명
OCR 기능을 사용하는 프로그램에서 악의적인 파일 경로 입력을 통해 시스템 명령어를 임의로 실행할 수 있는 위험이 있습니다. 이는 해커가 서버를 완전히 장악하는 원인이 될 수 있습니다.
🇺🇸 원문 (English)
node-tesseract-ocr is an npm package that provides a Node.js wrapper for Tesseract OCR. In all versions through 2.2.1, the recognize() function in src/index.js is vulnerable to OS Command Injection. The file path parameter is concatenated into a shell command string and passed to child_process.exec() without proper sanitization
📍 영향받는 시스템
node-tesseract-ocr 2.2.1 이하 버전
⚔️ 공격 벡터
recognize() 함수의 파일 경로 파라미터에 악성 셸 명령어를 삽입하여 child_process.exec()를 통해 원격 코드 실행
🛡️ 대응 방법
node-tesseract-ocr 패키지를 최신 버전으로 즉시 업그레이드하거나, 입력값에 대한 엄격한 검증 및 이스케이프 처리를 구현하십시오.
🔧 검증 코드
출력된 버전이 2.2.1 이하이거나 해당 패키지가 설치되어 있다면 취약한 상태로 판단해야 합니다.
npm list node-tesseract-ocr 2>/dev/null | grep -E 'node-tesseract-ocr'