CVE-2024-28888 Overview
A use-after-free vulnerability exists in the way Foxit Reader 2024.1.0.23997 handles a checkbox field object. A specially crafted JavaScript code inside a malicious PDF document can trigger this vulnerability, which can lead to memory corruption and result in arbitrary code execution. An attacker needs to trick the user into opening the malicious file to trigger this vulnerability. Exploitation is also possible if a user visits a specially crafted, malicious site if the browser plugin extension is enabled.
Critical Impact
This use-after-free vulnerability allows attackers to achieve arbitrary code execution through malicious PDF documents, potentially leading to full system compromise when users open crafted files or visit malicious websites with the browser plugin enabled.
Affected Products
- Foxit PDF Reader version 2024.1.0.23997
- Foxit PDF Reader with browser plugin extension enabled
- Systems running vulnerable Foxit Reader installations
Discovery Timeline
- 2024-10-02 - CVE-2024-28888 published to NVD
- 2025-09-23 - Last updated in NVD database
Technical Details for CVE-2024-28888
Vulnerability Analysis
This vulnerability is classified as CWE-416 (Use After Free), a memory corruption flaw that occurs when a program continues to reference memory after it has been freed. In the context of Foxit PDF Reader, the vulnerability manifests in how the application processes checkbox field objects within PDF documents.
When a PDF containing specially crafted JavaScript is opened, the malicious code can manipulate checkbox field objects in a way that causes the application to access memory that has already been deallocated. This dangling pointer reference creates an opportunity for attackers to corrupt memory structures and potentially hijack program execution flow.
The attack requires user interaction—either opening a malicious PDF document or visiting a compromised website with the Foxit browser plugin enabled. This user interaction requirement is the primary barrier to exploitation, though social engineering techniques can effectively overcome this obstacle.
Root Cause
The root cause is improper memory management within Foxit PDF Reader's JavaScript engine when handling checkbox field objects. The application fails to properly track the lifecycle of checkbox field object references, allowing freed memory to be subsequently accessed through stale pointers. When JavaScript code triggers specific operations on these objects in a particular sequence, the application attempts to use memory that has already been returned to the heap, leading to undefined behavior that attackers can leverage for code execution.
Attack Vector
The attack vector is network-based and requires user interaction. There are two primary exploitation scenarios:
Malicious PDF Document: An attacker crafts a PDF file containing malicious JavaScript that triggers the use-after-free condition. The victim must be tricked into opening this document, typically through phishing emails or malicious downloads.
Browser-Based Exploitation: If the victim has the Foxit PDF Reader browser plugin extension enabled, simply visiting a malicious website hosting the crafted PDF can trigger the vulnerability without explicitly downloading and opening a file.
The vulnerability allows attackers to achieve arbitrary code execution, enabling them to install malware, steal sensitive data, or establish persistent access to the compromised system.
Detection Methods for CVE-2024-28888
Indicators of Compromise
- Unexpected Foxit PDF Reader crashes or abnormal behavior when opening PDF documents
- PDF files containing obfuscated or suspicious JavaScript code targeting form field objects
- Unusual child processes spawned by FoxitPDFReader.exe or related Foxit processes
- Memory access violations or application errors logged during PDF rendering operations
Detection Strategies
- Monitor for PDF documents containing JavaScript that manipulates checkbox or form field objects in unusual patterns
- Implement endpoint detection rules to identify use-after-free exploitation attempts targeting Foxit Reader processes
- Deploy YARA rules to scan incoming PDF attachments for suspicious JavaScript patterns associated with form field manipulation
- Utilize memory protection technologies to detect heap corruption and use-after-free exploitation attempts
Monitoring Recommendations
- Enable detailed logging for Foxit PDF Reader application events and errors
- Monitor email gateways and web proxies for PDF attachments with embedded JavaScript
- Implement behavioral analysis to detect anomalous process activity following PDF document opens
- Configure endpoint protection solutions to alert on memory corruption indicators in Foxit Reader processes
How to Mitigate CVE-2024-28888
Immediate Actions Required
- Update Foxit PDF Reader to the latest patched version immediately
- Disable the Foxit PDF Reader browser plugin extension until patching is complete
- Configure Foxit PDF Reader to operate in "Safe Reading Mode" to disable JavaScript execution
- Educate users about the risks of opening PDF documents from untrusted sources
Patch Information
Foxit has released security updates to address this vulnerability. Administrators should consult the Foxit Security Bulletin for detailed patch information and download the latest version of Foxit PDF Reader. Organizations should prioritize this update given the potential for arbitrary code execution.
Additional technical details about this vulnerability are available in the Talos Intelligence Report TALOS-2024-1967.
Workarounds
- Disable JavaScript execution in Foxit PDF Reader through Edit → Preferences → JavaScript → uncheck "Enable JavaScript Actions"
- Disable the Foxit PDF Reader browser plugin in all browsers to prevent drive-by exploitation
- Implement application whitelisting to restrict PDF viewing to trusted applications only
- Use alternative PDF readers for untrusted documents until Foxit Reader is patched
# Configuration example - Disable Foxit JavaScript via Registry (Windows)
# Run as Administrator
reg add "HKCU\Software\Foxit Software\Foxit PDF Reader\Preferences\JavaScript" /v bEnableJavaScript /t REG_DWORD /d 0 /f
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

