CVE-2024-2971
Low · 2.9CVSS
2.9
EPSS
0.2%
Published
Mar 26, 2024
CISA due date
—
Cloudanix analysis
A bug in certain PDF reading software can make it unstable or crash when it tries to open a specially prepared document file.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- High
- Impact
- Denial Of Service
- Component
- Application
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-bounds array write triggered during PDF parsing when an indirect reference contains a negative object number, resulting in memory corruption within the Xpdf engine.
Why it matters to the business
Low-probability denial-of-service or application instability on systems that process untrusted PDF files with vulnerable Xpdf versions; limited operational impact due to local attack vector and high complexity.
How an attack unfolds
An attacker creates a specially crafted PDF containing an indirect object reference with a negative object number. When Xpdf parses the file, the negative value is used as an array index without proper bounds checking, causing an out-of-bounds write.
How to fix it
Upgrade Xpdf to the latest version that resolves the negative object number handling issue in PDF indirect references.
How to confirm the fix worked
Confirm Xpdf version exceeds 4.05; test parsing of a minimal PDF containing a negative indirect object reference to verify absence of crash or corruption.
Typical attack path
- Craft malicious PDF embedding indirect reference with negative object number
- Deliver PDF to target via email, download, or file share
- Victim opens PDF using vulnerable Xpdf 4.05 or earlier
- Parser processes negative object number and performs out-of-bounds array write
How to detect it
Monitor process crash logs and core dumps for Xpdf when handling PDF files; review file-access logs for suspicious PDFs delivered shortly before crashes.
What your security team should do
- Prioritize upgrade of all Xpdf installations to a patched release
- Restrict opening of untrusted PDF files on systems running Xpdf
- Implement application allow-listing to limit use of legacy PDF viewers
The record
Out-of-bounds array write in Xpdf 4.05 and earlier, triggered by negative object number in indirect reference in the input PDF file.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Ubuntu:16.04:LTS | ipe | 0 | No fix |
| Ubuntu:16.04:LTS | xpdf | 0 | No fix |
| Ubuntu:18.04:LTS | ipe | 0 | No fix |
| Ubuntu:18.04:LTS | xpdf | 0 | No fix |
| Ubuntu:20.04:LTS | ipe | 0 | No fix |
| Ubuntu:22.04:LTS | ipe | 0 | No fix |
| Ubuntu:22.04:LTS | xpdf | 0 | No fix |
| Ubuntu:24.04:LTS | ipe | 0 | No fix |
| Ubuntu:24.04:LTS | xpdf | 0 | No fix |
| Ubuntu:24.10 | ipe | 0 | No fix |
| Ubuntu:24.10 | xpdf | 0 | No fix |
| Ubuntu:25.04 | ipe | 0 | No fix |
| Ubuntu:25.04 | xpdf | 0 | No fix |
| Ubuntu:25.10 | ipe | 0 | No fix |
| Ubuntu:25.10 | xpdf | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | ipe | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | xpdf | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | ipe | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | xpdf | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | ipe | 0 | No fix |
Related vulnerabilities
- CVE-2024-7868 In Xpdf 4.05 (and earlier), invalid header info in a DCT (JPEG) stream can lead to an… Also affects ipe
- CVE-2024-7867 In Xpdf 4.05 (and earlier), very large coordinates in a page box can cause an integer… Also affects ipe
- CVE-2024-7866 In Xpdf 4.05 (and earlier), a PDF object loop in a pattern resource leads to infinite… Also affects ipe
- CVE-2024-4976 Out-of-bounds array write in Xpdf 4.05 and earlier, due to missing object type check in… Also affects ipe
- CVE-2024-4568 In Xpdf 4.05 (and earlier), a PDF object loop in the PDF resources leads to infinite… Also affects ipe
- CVE-2024-4141 Out-of-bounds array write in Xpdf 4.05 and earlier, triggered by an invalid character… Also affects ipe
- CVE-2024-3900 Out-of-bounds array write in Xpdf 4.05 and earlier, triggered by long Unicode sequence in… Also affects ipe
- CVE-2024-3247 In Xpdf 4.05 (and earlier), a PDF object loop in an object stream leads to infinite… Also affects ipe