XpdfApplication · Foolabs

CVE-2009-3603

HIGH · 9.3 CVSS v2.0 Published 2009-10-21
Fix available
A fix is available. Upgrade to after 0.12.0 or later.
See remediation →
100/100
Remediation priority · Urgent
Public exploit Remotely reachable No privileges Zero-click Patch available

Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.

NVD · unedited
Integer overflow in the SplashBitmap::SplashBitmap function in Xpdf 3.x before 3.02pl4 and Poppler before 0.12.1 might allow remote attackers to execute arbitrary code via a crafted PDF document that triggers a heap-based buffer overflow. NOTE: some of these details are obtained from third party information. NOTE: this issue reportedly exists because of an incomplete fix for CVE-2009-1188.

Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.

dbcve analysis
How this class of weakness works · CWE-189

A legacy NVD category grouping numeric mistakes — overflows, truncation, sign errors — where a miscalculated value goes on to drive a dangerous decision such as a memory allocation or a bounds check. It is a bucket rather than one specific bug. Remediation is checked arithmetic and validating any computed size or index before it is used.

General guidance for the numeric errors class — the official description and references above are authoritative for this specific CVE. Want a bespoke review and a reviewed fix? Ask our team →

Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.

NVD · CPE data
XpdfApplication
Affected:= 3.02pl1= 3.02pl2= 3.02pl3
XpdfreaderApplication
Affected:= 3.00= 3.01= 3.02
PopplerApplication
Affected:<= 0.12.0= 0.1= 0.1.1= 0.1.2= 0.2.0= 0.3.0= 0.3.1= 0.3.2= 0.3.3= 0.4.0= 0.4.1= 0.4.2

CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.

From the vector
Attack vector
Network
Complexity
M
Authentication
None
Confidentiality
Complete
Integrity
Complete
Availability
Complete

AV:N/AC:M/Au:N/C:C/I:C/A:C

Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.

dbcve · scoped
Upgrade available Upgrade to a release after 0.12.0
Vendor patch ftp.foolabs.com →
Recommended fix High confidence

Xpdf 3.02pl4 or later; Poppler 0.12.1 or later

  1. Identify whether Xpdf or Poppler is in use in the system
  2. For Xpdf: upgrade to version 3.02pl4 or later from ftp.foolabs.com
  3. For Poppler: upgrade to version 0.12.1 or later from the project's distribution channels
  4. Alternatively, if upgrading is not immediately feasible, apply the vendor patch from ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl4.patch
  5. After applying the fix, validate by opening previously untrusted PDF documents in a test environment to confirm the vulnerability is resolved

Generated from the published advisory — verify against the referenced sources before acting.

We can identify the exact fixed release, upgrade, and verify it in staging — typical engagement from $1,950. Get the upgrade done

Scan for this in your stack

Free · runs locally
dbcve dependency scanner

Check whether your project pulls in CVE-2009-3603 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.

References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.

Primary sources

Practitioner notes

Contributed

Peer-ranked notes from engineers who’ve handled CVE-2009-3603 in production — separate from our analysis above.

No notes yet

Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.

What this is

A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.

What belongs here
  • Verified mitigations, workarounds, and config changes
  • Version or environment caveats, and links to real fixes
  • No weaponised exploit code, or anything meant to cause harm
  • No spam, self-promotion, credentials, or personal data