
textract 보안 권고 ⌯⌲ 주간 다운로드 15,000회
textract 버전 2.5.0까지의 모든 버전은 여러 추출기에 전달되는 파일 경로를 통해 OS 명령어 주입을 허용합니다. 여러 코드 경로가 해당 파일 경로를 충분한 검증 없이 child_process.exec()에 전달합니다. 파일 이름이나 경로에 영향을 줄 수 있는 공격자는 명령줄에서 벗어나 호스트에서 임의의 명령을 실행할 수 있습니다.
| 제품 | 영향을 받는 버전 | 수정 버전 |
|---|---|---|
| textract | 2.5.0까지의 모든 버전 | 2026-03-24 기준 수정 버전 없음 |
CVE-2026-26831CWE-78 - OS 명령어 주입9.8 (치명적)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:Hlib/extractors/doc.jslib/extractors/rtf.jslib/extractors/dxf.jslib/extractors/images.jslib/util.js한 가지 예는 doc.js 추출기입니다:
exec('antiword -m UTF-8.txt "' + filePath + '"', ...)
또 다른 예는 rtf.js 경로 처리로, 셸 명령을 실행하기 전에 공백만 이스케이프합니다. 이는 ;, 백틱 또는 $()와 같은 메타문자를 막지 못합니다.
애플리케이션은 사용자가 업로드한 문서에 textract를 자주 사용합니다. 이러한 구성에서는 악성 파일 이름이 텍스트 추출 중에 명령 실행을 유발할 수 있습니다.
다음과 같은 입력 파일 이름:
test";whoami;".doc
취약한 추출기가 실행될 때 따옴표로 묶인 명령 문자열에서 벗어날 수 있습니다.
이 글을 작성하는 시점에 수정된 npm 릴리스는 없습니다.
이 패키지에 여전히 의존해야 한다면:
textract에 전달하지 마십시오.exec()를 인자-안전한 프로세스 실행으로 대체하십시오.