Adobe Acrobat PDF 제로데이 대응: CVE-2026-34621 문서 기반 공격 분석
CVE-2026-34621의 AcroJS 프로토타입 오염, 샌드박스 우회 경로, 행동 기반 탐지와 Adobe Acrobat 대응 방안을 정리한다.
2026-08-15 · 최초 발행 2026-04-20
PDF 열람만으로 이어진 제로데이 공격
Adobe Acrobat Reader의 CVE-2026-34621은 2025년 11월부터 최소 4개월 동안 실제 환경에서 악용된 제로데이다. Adobe는 2026년 4월 11일 긴급 패치를 배포했고, CISA는 사흘 뒤 이 취약점을 KEV(Known Exploited Vulnerabilities) 카탈로그에 올렸다.
영향 범위에는 Adobe Acrobat DC, Reader DC, Acrobat 2024가 포함되며 Windows와 macOS 모두가 대상이다. CVSS 점수는 9.8이다. 결함의 중심에는 JavaScript 객체 속성을 비정상적으로 바꾸는 CWE-1321 계열의 프로토타입 오염(Prototype Pollution)이 있다.
보안 연구자 Giuseppe Massaro의 포렌식 분석에서는 러시아어 가스 공급 중단 및 비상 대응 문서로 위장한 악성 PDF가 확인됐다. 불특정 다수를 겨냥한 유포보다 특정 조직 또는 개인을 노린 캠페인일 가능성을 시사하는 정황이다. Adobe 보안 공지 APSB26-26 기준으로 패치 전까지 약 4개월 이상 악용됐으며, 피해 시스템 수는 공개되지 않았다.
AcroJS 실행 환경이 공격 표면이 되는 방식
Adobe Reader는 문서 자동화, 폼 검증, 인터랙티브 콘텐츠에 쓰이는 AcroJS(Adobe Acrobat JavaScript)를 PDF 안에서 실행한다. 이 기능은 문서 처리에 필요하지만, 취약점이 결합되면 실행 엔진 자체가 침투 지점이 된다.
JavaScript 객체는 프로토타입 체인을 따라 속성을 상속한다. 공격자는 Object.prototype 같은 상위 프로토타입에 원하는 속성을 주입해, 그 속성을 상속받는 객체의 동작을 바꿀 수 있다. CVE-2026-34621에서는 조작된 PDF의 악성 JavaScript가 Reader 내부 객체 속성 처리 로직을 건드린다.
오염된 프로토타입은 util.readFileIntoStream()처럼 권한 있는 API에 닿는 경로를 만든다. 이 API는 Reader 프로세스가 접근할 수 있는 파일 시스템의 임의 파일을 읽을 수 있게 한다.
[악성 PDF 열기] → [AcroJS 엔진 실행] → [프로토타입 오염 트리거]
→ [권한 있는 API 접근] → [샌드박스 우회] → [시스템 정보 수집]
→ [C2 서버 통신] → [추가 페이로드 다운로드] → [임의 코드 실행]
이 흐름에는 클릭이나 매크로 허용 같은 추가 상호작용이 필요하지 않다. PDF를 여는 행위만으로 전체 익스플로잇 체인이 자동 실행될 수 있다.
초기 침투 뒤 선별적으로 전달되는 페이로드
악성 JavaScript는 시스템 언어 및 지역 설정, 운영체제 버전, Adobe Reader 버전 번호, PDF 파일의 로컬 경로를 수집한다. 수집 정보는 Adobe Synchronizer라는 위장 User-Agent 문자열을 사용해 공격자 제어 C2(Command and Control) 서버로 전달된다.
C2는 이 정보를 바탕으로 공격 대상의 가치와 적합성을 판단한다. 적합한 대상에만 2단계 RCE(Remote Code Execution) 또는 샌드박스 탈출 익스플로잇을 보내는 방식이다. 이런 2단계 공격 구조(Two-Stage Attack Architecture)는 분석을 어렵게 하고 시그니처 기반 탐지의 효율을 낮추는 APT급 전술이다.
Protected Mode의 경계를 우회하는 로직 결함
Adobe Reader의 Protected Mode는 PDF 처리 프로세스를 시스템 리소스에서 격리하는 샌드박스 구조다. Windows의 AppContainer나 Chromium 렌더러 프로세스와 유사하게, 취약점이 악용되더라도 피해 범위를 제한하려는 목적을 가진다.
구조는 높은 권한에서 파일 시스템, 레지스트리, 네트워크 접근 요청을 심사하는 브로커 프로세스(Broker Process)와 PDF 파싱·JavaScript 실행을 담당하는 낮은 무결성(Low Integrity) 렌더러 프로세스(Renderer Process)로 나뉜다.
CVE-2026-34621의 프로토타입 오염은 이 설계 경계를 우회한다. 렌더러 안에서 util.readFileIntoStream() 등의 권한 있는 내부 API를 직접 호출할 수 있게 하며, 브로커를 거치지 않는 측면 채널을 형성한다. 이후 C2가 전달하는 2단계 페이로드는 이 초기 접근권을 이용해 완전한 샌드박스 탈출을 달성한다.
특권 검증의 빈틈과 IPC 검증 결함이 함께 작동하면 이 경계는 더 직접적으로 무너질 수 있다. Doc.exportAsFDF에 전달된 파일명 매개변수가 내부에서 app.launchURL 경로로 재사용되며 Trust Manager 검증을 건너뛰고, AppContainer 내부에서 브로커 프로세스로 전달되는 IPC 메시지에 타입 검증이 빠진 경우다. 이 연결에서는 PDF 안의 비특권 JavaScript가 특권 API 접근 경로를 얻은 뒤 브로커 경계를 넘는 메시지를 만들 수 있어, 특권 승인 정책 오류와 Protected Mode 우회가 하나의 체인으로 이어진다.
메모리 손상이나 커널 취약점 없이 애플리케이션 로직 결함만으로 격리 경계를 무너뜨리는 로직 기반 샌드박스 우회(Logic-Based Sandbox Bypass) 패턴이다.
문서 기반 공격이 놓이는 공격 표면
PDF 같은 문서 파일을 악용하는 공격은 문서 기반 공격 벡터(Document-Based Attack Vector)로 분류할 수 있다.
파일 포맷 파싱 취약점은 PDF, DOCX, XLSX처럼 복잡한 형식을 처리하는 파서의 메모리 손상 결함을 노린다. 버퍼 오버플로우, UAF(Use-After-Free), 타입 혼동(Type Confusion)이 여기에 해당한다.
내장 스크립팅 엔진 취약점은 Adobe AcroJS, Office VBA 매크로, OpenDocument 매크로 같은 문서 내 실행 환경을 겨냥한다. CVE-2026-34621은 이 계층에 속한다.
기술 취약점 없이 악성 링크나 첨부파일 실행, 매크로 허용을 유도하는 방식은 사회공학 기반 실행이다. 정상 문서 배포 채널에 악성 콘텐츠를 넣는 공급망 삽입도 별도 공격 경로가 된다. 신뢰된 소스에서 배포되는 문서는 사용자의 경계심을 크게 낮춘다.
PDF는 읽기 문서로 다루고, 실행 기능은 별도 경계로 분리하는 설계가 필요하다. 데이터 파일에는 읽기만 허용하고 실행 권한을 부여하지 않으며, 실행이 필요한 기능에는 명시적인 사용자 동의를 요구해야 한다. 외부 프로세스 생성은 막고 실행 범위는 문서 내부에 한정하며, 네트워크 접근은 별도 권한 요청으로 다루고 파일 시스템 접근은 문서 안에 포함된 리소스로 제한하는 방식이다. 인터랙티브 양식, 애니메이션, 3D 모델, 스크립팅 기능이 확장될수록 이 분리는 약해질 수 있다.
CVE-2026-34621은 사용자 상호작용이 필요 없다는 점에서 특히 위험하다. 기업, 공공기관, 개인이 일상적으로 쓰는 PDF의 범용성은 잠재적 피해 범위를 넓힌다.
러시아어 공문서로 위장한 캠페인
Giuseppe Massaro의 분석에서 확인된 악성 PDF는 러시아어 가스 공급 중단 및 비상 대응 관련 공문서 형태의 미끼 콘텐츠를 사용했다. 타깃은 러시아어권 에너지 산업 또는 관련 정부 기관 종사자로 추정된다.
공격은 2025년 11월 경부터 시작해 2026년 4월 패치 전까지 약 4-5개월 지속됐다. 초기 핑거프린팅 뒤에는 선별적으로 RCE 페이로드를 보내는 2단계 구조가 이어졌다.
GitHub에 공개된 포렌식 분석 보고서에는 SHA-256 54077a5b15638e354fa02318623775b7a1cc0e8c21e59bcbab333035369e377f의 실제 악용 코드 분석이 포함돼 있다. 특정 언어권과 산업을 겨냥한 위장 문서, 정교한 2단계 페이로드 아키텍처, 4개월 이상의 장기 은닉 능력은 국가 후원 행위자(State-Sponsored Actor) 또는 고급 사이버 범죄 그룹의 작전일 가능성을 시사한다.
EDR과 SIEM에서 추적할 이상 행위
제로데이는 알려진 악성 패턴이 없기 때문에 시그니처만으로 찾아내기 어렵다. Reader 프로세스의 행위와 그 주변 이벤트를 함께 관찰해야 한다.
AcroRd32.exe 또는 Acrobat.exe가 cmd.exe, powershell.exe, wscript.exe, mshta.exe 같은 쉘 프로세스를 자식으로 만드는 패턴은 강력한 악용 지표다. 정상적인 PDF 뷰어가 이런 프로세스를 생성할 이유는 없다.
Reader에서 시작된 비정상적 아웃바운드 연결, 특히 Adobe Synchronizer User-Agent를 쓰는 HTTP 요청도 조사 대상이다. Adobe의 정상 업데이트 트래픽과 구분하려면 화이트리스트 관리가 필요하다.
PDF 열람 중 문서와 무관한 자격증명 파일이나 설정 파일에 Reader 프로세스가 접근하는지 확인하고, util.readFileIntoStream() 같은 고위험 AcroJS API의 호출 빈도와 맥락도 분석해야 한다. 사용자 상호작용 없이 PDF를 여는 즉시 실행되는 호출은 집중 감시 대상이다.
런타임 JavaScript 엔진의 프로토타입 체인 오염 흔적은 메모리 포렌식으로 식별할 수 있으며, YARA 규칙을 이용한 메모리 스캔도 유효한 탐지 방법이다. EDR에서는 이 지표를 바탕으로 커스텀 탐지 규칙을 적용할 수 있다. SIEM에서는 Adobe 프로세스의 자식 프로세스 생성 이벤트인 Windows Event ID 4688 또는 Sysmon Event ID 1과 네트워크 연결 이벤트인 Sysmon Event ID 3을 상관 분석하는 방식이 효과적이다.
패치와 문서 처리 환경 통제
Adobe Acrobat DC, Reader DC, Acrobat 2024에는 Adobe APSB26-26 패치를 즉시 적용해야 한다. CISA KEV 카탈로그 기준으로 연방 기관은 2026년 5월 4일까지 패치를 완료해야 했다. 이메일 첨부 PDF와 외부 출처 PDF에는 사전 샌드박스 분석을 도입할 수 있다.
CDR(Content Disarm and Reconstruction)은 모든 외부 첨부에 일률 적용하는 게이트웨이 계층에 둘 수 있다. PDF의 JavaScript, 임베디드 파일, 외부 링크를 제거한 뒤 안전한 버전을 재구성하므로 제로데이에 구조적으로 강하고 처리도 빠르지만, 원본 기능이 손실될 수 있다. 동적 분석은 원본을 보존하며 정밀 판정을 할 수 있으나 처리 시간이 들고 회피 가능성이 있으므로, CDR에서 기능 손실이 문제 되는 문서나 의심 파일의 정밀 분석 경로에 배치한다. 정적 시그니처와 AI 기반 분류는 각각 알려진 위협 차단과 변종 탐지의 보조 계층으로 운용할 수 있다.
Protected Mode를 그룹 정책 또는 레지스트리 설정으로 강제 활성화하고, 기능 제한을 감수할 수 있는 환경에서는 편집 → 기본 설정 → JavaScript → JavaScript 허용을 해제해 JavaScript 실행 공격 표면을 줄일 수 있다. 이메일 게이트웨이에서 PDF를 사전 검사하는 절차도 필요하다.
Chrome과 Firefox의 내장 PDF 뷰어는 이 취약점의 영향을 받지 않는다. 중요 시스템에서 PDF를 열어야 한다면 최소 권한 원칙(Principle of Least Privilege)에 따라 격리된 가상 환경이나 전용 문서 분석 플랫폼에서 처리하는 구성이 적합하다.
문서 기반 공격에서는 신뢰할 수 있는 출처라는 판단만으로 충분하지 않다. CVE-2026-34621처럼 문서를 여는 행위 자체가 트리거가 될 수 있으므로, 패치 상태와 실행 환경 통제를 함께 유지해야 한다.
Sources
- Adobe fixes PDF zero-day security bug that hackers have exploited for months | TechCrunch
- Simply opening a PDF could trigger this Adobe Reader zero-day | Malwarebytes
- Adobe issues emergency fix for Acrobat Reader flaw exploited in the wild (CVE-2026-34621) - Help Net Security
- Adobe finally patches PDF pest after months of abuse - The Register
- Adobe Security Bulletin APSB26-26
- CVE-2026-34621: Adobe Acrobat Reader Zero-Day Enables Arbitrary Code Execution via Crafted PDF | SOCRadar
- Adobe Reader Zero-Day Exploited via Malicious PDFs Since December 2025 | The Hacker News
- Adobe Patches Actively Exploited Acrobat Reader Flaw CVE-2026-34621 | The Hacker News
- Acrobat Reader zero-day exploited in the wild for many months (CVE-2026-34621) - Help Net Security
- Adobe Patches Reader Zero-Day Exploited for Months - SecurityWeek
- Adobe Reader Zero Day Exploited for Four Months via PDFs - gblock
- Emergency Alert: CVE-2026-34621—The Adobe Zero-Day Turning Every PDF into a Weapon | Hexnode
- Adobe Reader Zero-Day PDF Exploit - Full Forensic Analysis | GitHub Gist