CVE-2022-38235
Medium · 5.5CVSS
5.5
EPSS
0.3%
Published
Aug 16, 2022
CISA due date
—
Cloudanix analysis
A bug in a PDF reading program can make it stop working when someone opens a specially made file, interrupting access to 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
A segmentation violation occurs in DCTStream::getChar() at Stream.cc during processing of a malformed JPEG DCT stream, resulting in an application crash.
Why it matters to the business
PDF processing tools based on XPDF become unavailable when handling certain documents, interrupting document viewing and related workflows with no known fixed versions available.
How an attack unfolds
An attacker supplies a specially crafted PDF containing a malformed DCT stream; when the file is opened locally, the segmentation violation is triggered in DCTStream processing leading to denial of service.
How to fix it
Upgrade XPDF beyond commit ffaf11c once a corrective patch is released; in the interim isolate PDF processing to non-critical systems and avoid opening untrusted documents.
How to confirm the fix worked
Reproduce the crash with a test PDF containing the triggering DCT stream before and after any update; verify absence of the segfault in Stream.cc and confirm application stability.
Typical attack path
- Craft a PDF file embedding a malformed JPEG DCT stream
- Deliver the PDF to the target system via email, download, or file share
- Victim opens the PDF using an affected XPDF-based viewer
- DCTStream::getChar() dereferences invalid memory causing immediate crash
How to detect it
Review system and application logs for segmentation fault entries referencing xpdf or Stream.cc when PDF files are opened; correlate crashes with recent receipt of new PDF documents.
What your security team should do
- Block or sandbox untrusted PDF files from reaching XPDF instances
- Track upstream XPDF commits for a fix to the Stream.cc segmentation violation
- Prefer alternative hardened PDF viewers until remediation is confirmed
The record
XPDF commit ffaf11c was discovered to contain a segmentation violation via DCTStream::getChar() 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