CVE-2024-56378
NoneCVSS
—
EPSS
0.6%
Published
Dec 23, 2024
CISA due date
—
Cloudanix analysis
A bug in a common PDF reading library can make programs that open certain files crash or reveal small pieces of memory they should not.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Data Exposure
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-bounds read in JBIG2Bitmap::combine within JBIG2Stream.cc allows a malformed JBIG2 stream in a PDF to access memory beyond allocated bitmap buffers, resulting in either a process crash or unintended memory disclosure.
Why it matters to the business
Applications that render or process PDFs using this library may crash unexpectedly or leak small amounts of process memory, disrupting document workflows and potentially exposing sensitive data in environments that handle untrusted PDFs.
How an attack unfolds
An attacker crafts a PDF containing a specially malformed JBIG2 image stream, delivers it to a target system, and waits for the victim application to parse the file; when JBIG2Bitmap::combine executes, the out-of-bounds read occurs and the attacker observes either a crash or extracts leaked memory contents.
How to fix it
Upgrade Poppler to the commit ade9b5ebed44b0c15522c27669ef6cdf93eff84e or later; rebuild and redeploy all dependent applications; test PDF rendering with known malformed JBIG2 test cases after update.
How to confirm the fix worked
Confirm the installed libpoppler.so reports a build containing commit ade9b5ebed44b0c15522c27669ef6cdf93eff84e; run regression tests that exercise JBIG2 decoding paths; monitor application stability when processing the original proof-of-concept PDF.
Typical attack path
- Create malicious PDF embedding crafted JBIG2 stream
- Deliver file via email, web download, or shared storage
- Victim application opens or previews the PDF
- JBIG2Stream.cc parsing invokes combine function
- Out-of-bounds read triggers crash or memory disclosure
How to detect it
Review application and system logs for segmentation faults or abnormal exits during PDF processing; search for repeated invocations of poppler or libpoppler in crash reports; correlate file-open events with subsequent process termination when the file contains JBIG2 streams.
What your security team should do
- Prioritize upgrade of Poppler in all desktop, server, and container images that process PDFs
- Add Poppler version checks to software bill-of-materials and vulnerability scanning pipelines
- Restrict opening of PDFs from untrusted sources until patches are deployed
- Update incident response playbooks to treat unexpected PDF renderer crashes as potential memory-corruption events
The record
libpoppler.so in Poppler through 24.12.0 has an out-of-bounds read vulnerability within the JBIG2Bitmap::combine function in JBIG2Stream.cc.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | poppler | 0 | No fix |
| Debian:12 | poppler | 0 | No fix |
| Debian:13 | poppler | 0 | 24.08.0-4 |
| Debian:14 | poppler | 0 | 24.08.0-4 |
| Mageia:9 | poppler | 0 | 23.02.0-1.4.mga9 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | poppler | 0 | 0.79.0-150200.3.35.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | poppler | 0 | 24.03.0-150600.3.5.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP6 | poppler | 0 | 24.03.0-150600.3.5.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP6 | poppler-qt5 | 0 | 24.03.0-150600.3.5.1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP6 | poppler-qt6 | 0 | 24.03.0-150600.3.5.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | poppler | 0 | 0.43.0-16.52.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | poppler-qt | 0 | 0.43.0-16.52.1 |
| Ubuntu:20.04:LTS | poppler | 0 | 0.86.1-0ubuntu1.5 |
| Ubuntu:22.04:LTS | poppler | 0 | 22.02.0-2ubuntu0.6 |
| Ubuntu:24.04:LTS | poppler | 0 | 24.02.0-1ubuntu9.2 |
| Ubuntu:24.10 | poppler | 0 | 24.08.0-1ubuntu0.1 |
| Ubuntu:Pro:16.04:LTS | poppler | 0 | 0.41.0-0ubuntu1.16+esm5 |
| Ubuntu:Pro:18.04:LTS | poppler | 0 | 0.62.0-2ubuntu2.14+esm4 |
| openSUSE:Leap 15.5 | poppler | 0 | 23.01.0-150500.3.14.1 |
| openSUSE:Leap 15.5 | poppler-qt5 | 0 | 23.01.0-150500.3.14.1 |
| openSUSE:Leap 15.5 | poppler-qt6 | 0 | 23.01.0-150500.3.14.1 |
| openSUSE:Leap 15.6 | poppler | 0 | 24.03.0-150600.3.5.1 |
| openSUSE:Leap 15.6 | poppler-qt5 | 0 | 24.03.0-150600.3.5.1 |
| openSUSE:Leap 15.6 | poppler-qt6 | 0 | 24.03.0-150600.3.5.1 |
| openSUSE:Tumbleweed | poppler | 0 | 24.12.0-1.1 |
Related vulnerabilities
- CVE-2017-15565 In Poppler 0.59.0, a NULL Pointer Dereference exists in the… Also affects poppler
- CVE-2017-14518 In Poppler 0.59.0, a floating point exception exists in the… Also affects poppler
- CVE-2017-14517 In Poppler 0.59.0, a NULL Pointer Dereference exists in the XRef::parseEntry() function… Also affects poppler
- CVE-2017-2820 An exploitable integer overflow vulnerability exists in the JPEG 2000 image parsing… Also affects poppler
- CVE-2017-9865 The function GfxImageColorMap::getGray in GfxState.cc in Poppler 0.54.0 allows remote… Also affects poppler
- CVE-2013-4474 Format string vulnerability in the extractPages function in utils/pdfseparate.cc in… Also affects poppler
- CVE-2013-4473 Stack-based buffer overflow in the extractPages function in utils/pdfseparate.cc in… Also affects poppler
- CVE-2009-3608 Integer overflow in the ObjectStream::ObjectStream function in XRef.cc in Xpdf 3.x before… Also affects poppler