CVE-2017-14518
High · 7.8CVSS
7.8
EPSS
1.2%
Published
Sep 17, 2017
CISA due date
—
Cloudanix analysis
A flaw in how certain PDF files are handled can let attackers crash programs that open documents, disrupting work that relies on viewing or processing PDFs.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
A floating point exception in Poppler's isImageInterpolationRequired function within Splash.cc allows a specially crafted PDF to trigger an unhandled arithmetic error during image interpolation checks, resulting in process termination or potential memory corruption.
Why it matters to the business
Attackers can crash applications that render PDFs, leading to denial of service for document processing workflows and potential loss of availability for systems handling untrusted files; the age of the issue and available exploits increase urgency for any remaining unpatched deployments despite low EPSS.
How an attack unfolds
An attacker crafts a malicious PDF that reaches the vulnerable interpolation logic in Splash.cc, causes the floating point exception when opened locally with user interaction, and leverages the resulting crash or corruption for further impact; public exploits exist for this 2017 flaw.
How to fix it
Upgrade gcsfuse (Chainguard) and gcsfuse (Wolfi) to version 1.4.2-r5 or later, which pulls in the patched Poppler dependency; disable PDF rendering features if upgrades are delayed and apply strict input validation on all PDF sources.
How to confirm the fix worked
Confirm package versions match or exceed 1.4.2-r5, test rendering of known malicious PDFs from public exploit repositories in a sandbox, and verify that the isImageInterpolationRequired path no longer triggers exceptions under controlled malformed input.
Typical attack path
- Attacker prepares a malformed PDF targeting the interpolation function
- Victim opens the PDF in an affected application or workflow
- Poppler processes the file and hits the unvalidated floating point operation
- Exception occurs, crashing the process or enabling code execution
- Attacker achieves denial of service or escalates via the corrupted state
How to detect it
Review application logs for floating point exceptions or crashes during PDF processing, inspect file upload or rendering histories for unusual PDF filenames or sizes, and search process dumps or core files around the time of suspected exploitation.
What your security team should do
- Immediately upgrade affected gcsfuse packages to the stated fixed versions
- Scan all PDF ingestion pipelines for unpatched Poppler usage
- Implement sandboxed PDF processing and file type restrictions as compensating controls
- Monitor EPSS and exploit availability trends for any resurgence in targeting
The record
In Poppler 0.59.0, a floating point exception exists in the isImageInterpolationRequired() function in Splash.cc via a crafted PDF document.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:10 | poppler | 0 | 0.61.1-2 |
| Debian:11 | poppler | 0 | 0.61.1-2 |
| Debian:12 | poppler | 0 | 0.61.1-2 |
| Debian:13 | poppler | 0 | 0.61.1-2 |
| Debian:8 | poppler | 0 | 0.26.5-2+deb8u2 |
| Debian:9 | poppler | 0 | 0.48.0-2+deb9u1 |
| Mageia:5 | poppler | 0 | 0.26.5-2.5.mga5 |
| Mageia:6 | poppler | 0 | 0.52.0-3.3.mga6 |
| SUSE:Linux Enterprise Desktop 12 SP2 | poppler | 0 | 0.24.4-14.13.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | poppler | 0 | 0.43.0-16.15.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | poppler-qt | 0 | 0.43.0-16.15.1 |
| SUSE:Linux Enterprise Server 12 SP2 | poppler | 0 | 0.24.4-14.13.1 |
| SUSE:Linux Enterprise Server 12 SP3 | poppler | 0 | 0.43.0-16.15.1 |
| SUSE:Linux Enterprise Server 12 SP3 | poppler-qt | 0 | 0.43.0-16.15.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | poppler | 0 | 0.24.4-14.13.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | poppler | 0 | 0.24.4-14.13.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | poppler | 0 | 0.43.0-16.15.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | poppler-qt | 0 | 0.43.0-16.15.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | poppler | 0 | 0.24.4-14.13.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | poppler | 0 | 0.43.0-16.15.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP3 | poppler-qt | 0 | 0.43.0-16.15.1 |
| Ubuntu:14.04:LTS | poppler | 0 | 0.24.5-2ubuntu4.7 |
| Ubuntu:16.04:LTS | poppler | 0 | 0.41.0-0ubuntu1.4 |
| openSUSE:Tumbleweed | poppler | 0 | 21.08.0-1.3 |
Related vulnerabilities
- 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-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
- CVE-2009-0755 The FormWidgetChoice::loadDefaults function in Poppler before 0.10.4 allows remote… Also affects poppler
- CVE-2009-0756 The JBIG2Stream::readSymbolDictSeg function in Poppler before 0.10.4 allows remote… Also affects poppler
- CVE-2008-2950 The Page destructor in Page.cc in libpoppler in Poppler 0.8.4 and earlier deletes a… Also affects poppler