
CVE-2020-9715에 대한 개념 증명으로, Adobe Acrobat Reader DC의 EScript 엔진에서 발생하는 use-after-free 취약점입니다. EDR 탐지 검증을 위해 취약점 패턴을 트리거하는 PDF를 생성합니다. 무기화된 페이로드는 포함되어 있지 않습니다.
Adobe Acrobat Reader DC의 EScript.api ESObject 캐시에서 발생하는 Use-after-free 취약점입니다. 공인된 레드팀 EDR 테스트 전용입니다.
Adobe Acrobat Reader DC <= 2020.009.20063. EScript 엔진은 데이터 ESObject를 원래 인코딩(ANSI 또는 유니코드)을 유지하는 키로 캐시합니다. 삭제 시 항상 유니코드 키가 생성되므로 ANSI 이름의 항목은 캐시에서 제거되지 않습니다. GC가 기본 객체를 해제한 후, 오래된 캐시 항목은 댕글링 포인터가 됩니다.
OpenAction이 dataObjects에 접근하여 ESObject 캐시를 채움ArrayBuffer 할당으로 힙 스프레이를 수행하여 해제된 메모리 재확보이 PoC는 취약점 패턴을 트리거하지만 무기화된 페이로드는 포함하지 않습니다(쉘코드 없음, ROP 체인 없음). EDR이 익스플로잇 기술을 탐지하는지 확인하기 위해 설계되었습니다.
python generate_poc.py # CVE-2020-9715.pdf 생성
python generate_poc.py -o custom.pdf # 사용자 정의 출력 경로
외부 종속성 없음 -- Python 표준 라이브러리만 사용합니다.
EDR은 다음 중 하나 이상에 반응해야 합니다:
ArrayBuffer 대량 할당)dataObjects 접근 후 강제 GC 및 재접근 (UAF 패턴)OpenAction + EmbeddedFiles + JavaScriptAPSB20-48(2020년 8월)에서 패치됨.