CVE

[CVE-2024-4367] pdf.js

FEARIS 2024. 5. 26. 14:09

개요

CVE-2024-4367 취약점은 널리 사용되고있는 PDF뷰어 중 하나인 pdf.js에서 발생하는 취약점이다. 

해당 취약점은 PDF의 글꼴을 표현하고 관리하는 "FontMatrix" 속성의 유형 검사가 누락되어 임의의 자바스크립트 실행(XSS)이 가능하다.

 

등급

N/A

 

취약 버전

pdf.js 4.2.67 이전 버전

 

환경 구성

Tomcat 9.0.89

pdf.js 4.1.392

 

실습

POC코드를 이용해 공격에 사용할 PDF 생성

PDF 생성

 

사전에 만들어둔 도커 컨테이너로 Tomcat 실행

docker-compose 실행

 

PDF 업로드 후 [Upload File] 시도

PDF 업로드

 

PDF 파일 업로드에 성공하면 PDF 파일이 저장된 로컬 주소로 접근하고 최종적으로 XSS가 실행된다.

XSS 실행

 

 

대응 방안

대응 방법 설명
버전 패치 pdf.js 4.2.67 버전으로 패치
옵션 설정 viewer.mjs 파일의 'isEvalSupported' 옵션을 False로 설정

 

의견

pdf.js의 웹에서 종종 사용하는 PDF뷰어로, 위와 같이 사용자로부터 PDF 파일을 업로드받아 뷰어로 보여주는 경우라면 다른 공격에 이용될 수 있습니다.  또한, 조건부 RCE의 경우 Node.js와 같이 child_process 모듈을 사용하여 프로세스를 제어할 수 있는 경우, RCE 공격이 가능합니다.