CVE-2025-59802 Overview
CVE-2025-59802 is a signature spoofing vulnerability affecting Foxit PDF Editor and Reader versions before 2025.2.1. The vulnerability exists in how these applications handle Optional Content Groups (OCG), allowing attackers to modify the visual content of a digitally signed PDF document without invalidating the signature. This authentication bypass vulnerability undermines the fundamental trust model of digital signatures in PDF documents.
Critical Impact
Attackers can manipulate signed PDF content post-signature, causing a mismatch between what was signed and what users see, potentially enabling document fraud and social engineering attacks.
Affected Products
- Foxit PDF Editor versions before 2025.2.1, 14.0.1, and 13.2.1 on Windows
- Foxit PDF Editor versions before 2025.2.1, 14.0.1, and 13.2.1 on macOS
- Foxit PDF Reader versions before 2025.2.1 on Windows and macOS
Discovery Timeline
- 2025-12-11 - CVE-2025-59802 published to NVD
- 2025-12-18 - Last updated in NVD database
Technical Details for CVE-2025-59802
Vulnerability Analysis
This vulnerability stems from an authentication bypass (CWE-290) in the digital signature verification process for PDF documents containing Optional Content Groups. When OCG is supported, the state property of an OCG object is treated as runtime-only data and is explicitly excluded from the digital signature computation buffer. This architectural decision creates a security gap where the signed content can appear differently to different viewers or at different times.
The attack enables post-signing modification of document appearance without triggering signature invalidation warnings. An attacker can craft a malicious PDF that appears legitimate when signed but reveals different content when opened by the recipient. This is particularly dangerous for legally binding documents, contracts, and official correspondence where document integrity is paramount.
Root Cause
The root cause lies in the PDF specification's treatment of OCG state properties as transient runtime values rather than static document content. Foxit's implementation follows this specification without additional safeguards, meaning the visibility state of content layers is not cryptographically bound to the digital signature. When a document is signed, the OCG visibility states are not included in the hash computation, allowing them to be changed after signing without affecting signature validity.
Attack Vector
The attack can be executed remotely via network delivery of malicious PDF documents. An attacker creates a PDF with multiple OCG layers containing different content versions. The attacker signs the document while one layer is visible, then uses JavaScript or PDF triggers (such as document open actions) to dynamically switch the visible layer when the victim opens the document. The signature remains valid because the underlying byte stream hasn't changed—only the runtime OCG state that controls which content is rendered.
The attack requires no user interaction beyond opening the PDF document. JavaScript embedded in the PDF or PDF triggers can automatically execute the layer switch, making the attack seamless and difficult to detect.
Detection Methods for CVE-2025-59802
Indicators of Compromise
- PDF documents containing multiple OCG layers with JavaScript that modifies layer visibility on document open
- Signed PDF files with embedded scripts that reference OCG or layer state manipulation functions
- Documents where the visible content changes between viewing sessions or different PDF readers
- PDF files with OpenAction or AA (Additional Actions) entries that execute JavaScript on document events
Detection Strategies
- Implement static analysis of PDF documents to detect OCG layers combined with JavaScript actions
- Monitor for signed PDFs that contain SetOCGState JavaScript calls or similar layer manipulation code
- Deploy PDF sanitization tools that strip or flag JavaScript from signed documents before user access
- Use endpoint detection to identify PDF readers executing JavaScript that modifies document structure post-signature verification
Monitoring Recommendations
- Log and alert on PDF documents with both digital signatures and embedded JavaScript being opened by users
- Implement network-level inspection for PDFs containing OCG structures combined with action triggers
- Enable verbose logging in Foxit PDF applications to track JavaScript execution within signed documents
- Establish baseline behavior for PDF document handling and alert on anomalies such as layer state changes post-open
How to Mitigate CVE-2025-59802
Immediate Actions Required
- Update Foxit PDF Editor to version 2025.2.1, 14.0.1, or 13.2.1 depending on your major version branch
- Update Foxit PDF Reader to version 2025.2.1 on both Windows and macOS systems
- Disable JavaScript execution in PDF readers for high-security environments until patches are applied
- Implement email gateway filtering to quarantine signed PDFs containing JavaScript for manual review
Patch Information
Foxit has released fixed versions that address this vulnerability. The patched versions are 2025.2.1, 14.0.1, and 13.2.1 for PDF Editor, and 2025.2.1 for PDF Reader. Organizations should consult the Foxit Security Bulletins for detailed upgrade instructions and release notes. The patches implement additional validation to ensure OCG state changes are properly reflected in signature verification or restrict dynamic layer modifications in signed documents.
Workarounds
- Disable JavaScript execution in Foxit PDF Reader/Editor preferences to prevent automated OCG state manipulation
- Configure trust settings to disable automatic execution of document actions (OpenAction, AA triggers)
- Use alternative PDF readers that flatten OCG layers during signature verification for critical document review
- Implement organizational policies requiring visual inspection of all OCG layers in signed documents before relying on signature validity
To disable JavaScript in Foxit PDF Reader/Editor, navigate to File → Preferences → JavaScript and uncheck "Enable JavaScript Actions." For enterprise deployments, this can be enforced via registry settings or Group Policy.
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


