Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
cve-2024-30350-research-notes — Research notes documenting CVE-2024-30350, an out-of-bounds read in Foxit PDF Reader annotation handling, covering triage, disclosure, and defensive guidance. | Kitploit
Tools/GitHubGitHub/lmx-071028/cve-2024-30350-research-notes
Vulnerability AnalysisReverse EngineeringInformation GatheringPapers & ResearchLearning & EducationCurated Resources
GitHublmx-071028/cve-2024-30350-research-notes

cve-2024-30350-research-notes

Research notes documenting CVE-2024-30350, an out-of-bounds read in Foxit PDF Reader annotation handling, covering triage, disclosure, and defensive guidance.

View Repository
12h 4m agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

CVE-2024-30350 Research Notes

Overview

CVE-2024-30350 is an out-of-bounds read information disclosure vulnerability in Foxit PDF Reader. The issue was published by Trend Micro Zero Day Initiative as ZDI-24-333 and tracked before disclosure as ZDI-CAN-22708.

The public advisory describes the vulnerable area as Foxit PDF Reader's handling of Annotation objects. A crafted PDF can make the application read beyond the end of an allocated buffer. Exploitation requires user interaction, such as opening a malicious PDF file or visiting a page that delivers one. The immediate impact is sensitive information disclosure, and the advisory notes that the condition may be useful when chained with other vulnerabilities.

This repository documents the vulnerability, the research workflow, the triage process, and the disclosure notes. It intentionally does not include a weaponized proof of concept.

Public Facts

FieldValue
CVECVE-2024-30350
ZDI advisoryZDI-24-333
ZDI caseZDI-CAN-22708
ProductFoxit PDF Reader
VendorFoxit
ComponentAnnotation object handling
WeaknessOut-of-bounds read
CWECWE-125
ImpactInformation disclosure
CVSS3.3
VectorCVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
Vendor report date2023-12-20
Public advisory date2024-03-28
Advisory update date2024-07-01
Fixed byFoxit PDF Reader 2024.1 and Foxit PDF Editor 2024.1 security updates

According to Foxit's March 5, 2024 security bulletin, affected Windows versions included Foxit PDF Reader 2023.3.0.23028 and earlier, and multiple Foxit PDF Editor release lines up to the versions listed in the bulletin.

Technical Summary

PDF annotations are represented as dictionaries attached to pages through the page's /Annots array. A reader needs to parse the annotation dictionary, resolve direct and indirect values, normalize geometry and appearance data, and bridge the result into rendering, selection, editing, JavaScript, and accessibility paths.

The bug class for CVE-2024-30350 is a boundary validation failure in that annotation parsing pipeline. A malformed annotation object could cause Foxit PDF Reader to trust a derived length or object shape that no longer matched the backing buffer. Under the vulnerable path, the program could read past the allocated object boundary. The observed failure mode was an access violation during annotation handling; with memory arranged differently, the same primitive could expose adjacent process memory.

The issue was not a one-click network vulnerability. The attacker needed to convince the target user to open a crafted document or reach a delivery page that caused the document to be opened. That is reflected in the CVSS user-interaction requirement.

Discovery Story

The original investigation began as a focused audit of complex PDF object families rather than as a general file-format fuzzing run. Annotation handling was selected because annotations sit at a dense intersection of parser logic, UI behavior, JavaScript exposure, and incremental document updates.

The early corpus mixed ordinary documents with synthetic pages containing high-variance annotation dictionaries. The generator varied array lengths, object indirection, null values, unexpected primitive types, recursive references, and appearance stream combinations. The most useful samples were not fully random. They were grammar-aware enough to reach annotation normalization code, but still malformed enough to test assumptions in the native parser.

The first signal was a crash that reproduced only when a page contained a specific malformed annotation structure and the annotation was forced through the interactive handling path. Opening the document was enough to parse the page, but reliable reproduction improved when the view was refreshed, the page was zoomed, or the annotation tree was touched by selection or rendering code.

Debugging narrowed the issue to a read past the end of a heap allocation during annotation object processing. The crash did not resemble a null dereference. The failing instruction consumed memory adjacent to an annotation-related buffer, and the size relationships in the minimized sample suggested a mismatch between a parsed logical count and the real storage available for that object.

The sample was minimized by repeatedly removing unrelated PDF objects, page resources, fonts, metadata, and streams until only the page tree, the target page, and the annotation structure remained. The reduced file preserved the same crash signature, which made it suitable for coordinated disclosure.

After triage, the finding was submitted through Zero Day Initiative. The vendor report date in the public advisory is 2023-12-20. The coordinated advisory was published on 2024-03-28, and Foxit addressed the issue in the 2024.1 update line.

Impact

The direct impact is disclosure of memory from the Foxit PDF Reader process. In isolation, that usually means limited confidentiality impact. In a more complete exploit chain, however, an out-of-bounds read can be valuable for leaking heap contents, object pointers, allocation layout, or other process state needed to make a separate memory corruption vulnerability reliable.

This explains the low standalone CVSS score while still making the issue meaningful for exploit chain hardening.

Defensive Notes

Users should update Foxit PDF Reader and Foxit PDF Editor to fixed versions. Organizations that handle untrusted PDFs should also keep Protected View, Safe Reading Mode, file reputation controls, attachment filtering, and endpoint exploit mitigations enabled.

For parser developers, the main lesson is that annotation dictionaries should be treated as untrusted structured input even when the surrounding PDF is syntactically valid. Derived lengths, normalized arrays, resolved indirect objects, and cached object representations should be validated at every boundary between parser, renderer, scripting, and UI code.

Repository Contents

PathPurpose
README.mdMain vulnerability overview
docs/discovery-process.mdEnd-to-end research narrative
docs/advisory-notes.mdPublic advisory facts and references
docs/triage-checklist.mdGeneral checklist used for PDF reader crash triage

References

  • https://www.zerodayinitiative.com/advisories/ZDI-24-333/
  • https://www.cve.org/CVERecord?id=CVE-2024-30350
  • https://nvd.nist.gov/vuln/detail/CVE-2024-30350
  • https://www.foxit.com/support/security-bulletins.html
Download Tool