CVE-2022-38233
Medium · 5.5CVSS
5.5
EPSS
0.3%
Published
Aug 16, 2022
CISA due date
—
Cloudanix analysis
A flaw in the xpdf program can cause it to stop working unexpectedly when someone tries to open certain documents.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Application
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Memory corruption flaw triggering segmentation violation in DCTStream::readMCURow during processing of malformed DCT streams in PDF files.
Why it matters to the business
Application crashes when users open certain PDF files, leading to workflow disruption and potential loss of productivity in environments relying on xpdf for document viewing.
How an attack unfolds
An attacker crafts a PDF containing specially malformed DCT data that triggers the readMCURow function to dereference invalid memory, causing a crash when the file is opened locally in xpdf; public exploit code exists to demonstrate the issue.
How to fix it
Replace xpdf with a maintained PDF viewer; if continuing to use xpdf, apply community patches addressing the Stream.cc segmentation fault or rebuild from a post-ffaf11c commit that resolves the issue.
How to confirm the fix worked
Confirm the fix by recompiling xpdf and testing against the original crashing PDF sample, or verify absence of the vulnerable readMCURow code path in the installed Stream.cc source.
Typical attack path
- Identify or generate a PDF with malformed DCT stream data
- Deliver the file to the target system via email, download, or shared storage
- Victim opens the file using xpdf
- DCTStream::readMCURow processes the stream and crashes
How to detect it
Review system logs and core dump files for segmentation faults originating from xpdf processes, specifically entries referencing Stream.cc or DCTStream handling during PDF file access.
What your security team should do
- Immediately restrict xpdf usage to trusted PDF sources only
- Deploy alternative PDF readers across the organization
- Monitor upstream xpdf commits for an official resolution
The record
XPDF commit ffaf11c was discovered to contain a segmentation violation via DCTStream::readMCURow() at /xpdf/Stream.cc.
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-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