CVE-2024-3900
Low · 2.9CVSS
2.9
EPSS
0.2%
Published
Apr 17, 2024
CISA due date
—
Cloudanix analysis
A problem in PDF reading software can make it crash when it tries to handle certain unusually long text inside documents, though it is difficult for an attacker to trigger on purpose.
- 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 during PDF ActualText Unicode sequence processing, resulting in memory corruption in the Xpdf parser.
Why it matters to the business
Low-risk denial of service when opening specially crafted PDF files on systems using Xpdf 4.05 or earlier; limited operational disruption due to high attack complexity and local attack vector.
How an attack unfolds
An attacker creates a PDF containing an excessively long Unicode sequence in the ActualText attribute, which when parsed by vulnerable Xpdf code triggers the out-of-bounds write; given the local vector and high complexity, exploitation typically requires the victim to open the file locally.
How to fix it
Upgrade Xpdf to the newest release that corrects ActualText buffer handling; if no newer package is available, replace Xpdf with an alternative PDF renderer until a fix is obtained.
How to confirm the fix worked
Reproduce with test PDFs containing long ActualText sequences and confirm absence of crashes or memory errors after applying updates; scan source or binary for the vulnerable array-write logic in text extraction routines.
Typical attack path
- Craft malicious PDF embedding oversized ActualText Unicode sequence
- Deliver the PDF via email, download, or shared storage
- Victim opens the file using Xpdf or an application linking the library
- Parser processes the sequence and performs the out-of-bounds write
- Resulting memory corruption causes application crash or limited instability
How to detect it
Review system and application logs for Xpdf segmentation faults or abnormal exits immediately after PDF file access; inspect recent PDF files opened by users for suspicious text attributes.
What your security team should do
- Prioritize upgrade of Xpdf installations across the environment
- Block or sandbox untrusted PDF files from being processed by Xpdf
- Add Xpdf crash monitoring to endpoint detection rules
- Evaluate removal of Xpdf where alternative viewers are feasible
The record
Out-of-bounds array write in Xpdf 4.05 and earlier, triggered by long Unicode sequence in ActualText.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Ubuntu:16.04:LTS | ipe | 0 | No fix |
| Ubuntu:18.04:LTS | ipe | 0 | No fix |
| Ubuntu:20.04:LTS | ipe | 0 | No fix |
| Ubuntu:22.04:LTS | ipe | 0 | No fix |
| Ubuntu:24.04:LTS | ipe | 0 | No fix |
| Ubuntu:24.10 | ipe | 0 | No fix |
| Ubuntu:25.04 | ipe | 0 | No fix |
| Ubuntu:25.10 | ipe | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | ipe | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | ipe | 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-3247 In Xpdf 4.05 (and earlier), a PDF object loop in an object stream leads to infinite… Also affects ipe
- CVE-2024-3248 In Xpdf 4.05 (and earlier), a PDF object loop in the attachments leads to infinite… Also affects ipe