Skip to main content

PDFio CVE-2026-77220

| EUVDEUVD-2026-64163 HIGH
Expired Pointer Dereference (CWE-825)
2026-08-21 VulnCheck GHSA-2fr4-jfvm-chmp
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate to PDF-processing service
  2. Delivery
    Submit high-concurrency PDF requests
  3. Exploit
    Trigger parallel calls to pdfioDictSetStringf
  4. Execution
    Stack frame reclaimed and reused by concurrent thread
  5. Persist
    Dangling pointer reflects second caller's string data
  6. Impact
    Victim caller's document dictionary silently corrupted

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Expired pointer prevention
Exploitation Conditions

Exploitation requires the target application to invoke PDFio in a multi-threaded or pooled-request execution environment where concurrent calls to pdfioDictSetStringf operate within the same process address space, allowing stack frame addresses to be reused across threads. Per the CVSS 4.0 vector (PR:L), a low-privileged authenticated user must be able to submit PDF processing requests that are handled concurrently with other users' requests. Single-threaded deployments, or deployments that fork a separate process per request (e.g., CGI-style isolation), are not exploitable because the dangling pointer race requires concurrent stack reuse within a single shared process. Exploitation is further limited to applications that specifically exercise the pdfioDictSetStringf code path; applications that write only static (non-formatted) dictionary strings are not affected by this particular function.

Impact

The CVSS 4.0 score of 7.1 (AV:N/AC:L/AT:N/PR:L/UI:N with VC:N/VI:H/VA:N) characterizes a network-exploitable, low-privilege integrity violation with no user interaction required, contingent on the application exposing PDFio operations over a network interface in a concurrent processing model. The primary risk scenario is multi-tenant document processing services - PDF conversion APIs, document management platforms, or shared print spoolers - where concurrent callers share the same process memory space and PDFio's stack frames can interleave. The absence of a CISA KEV listing and the lack of identified public exploit code substantially reduce immediate urgency for single-threaded or process-isolated deployments, where the dangling-pointer race cannot be triggered. A mild data conflict exists between the 'Information Disclosure' intelligence tag and the CVSS 4.0 VC:N metric: while a victim caller's document dictionary could receive another caller's string data (which may itself be sensitive), the primary characterized impact is integrity corruption of the victim's output rather than attacker-controlled data exfiltration. EPSS data was not available in the provided intelligence sources, so numerical exploitation probability cannot be assessed; given the low-prevalence library and the specific multi-threaded deployment requirement, real-world exploitation is likely opportunistic rather than widespread.

Exploit ScenarioDerived

A low-privileged authenticated user submits a burst of concurrent PDF processing requests to a multi-threaded web service built on PDFio prior to v1.6.5. As one thread's pdfioDictSetStringf stack frame is reclaimed and reused by a second thread's call, the second thread's formatted string data silently overwrites the pointer stored in the first thread's document dictionary. The first caller receives a response PDF with metadata or content strings covertly replaced by a different user's data, with no exception or error signal emitted by the library.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 21, 2026

Cross-tenant document content corruption in PDFio before 1.6.5 allows low-privileged network attackers to silently overwrite one caller's PDF dictionary string values with another caller's data in multi-threaded or pooled-request environments. The defect is in pdfioDictSetStringf, which stored a raw pointer to a stack-local formatted string buffer in the document dictionary rather than heap-allocating a copy, leaving the dictionary referencing reclaimed stack memory after the function returned. No public exploit or CISA KEV listing has been identified at time of analysis; vendor-released patch v1.6.5 is confirmed available.

RemediationAI

Upgrade PDFio to version 1.6.5 or later, available from the official GitHub release at https://github.com/michaelrsweet/pdfio/releases/tag/v1.6.5; applications that vendor PDFio as a bundled dependency must rebuild against the updated library using the patch commit 22b9afc800c5833f9e851e35938972bd4c76a357. If an immediate upgrade is not operationally feasible, the most targeted compensating control is to serialize all PDFio dictionary string-formatting calls through a process-wide mutex or to process each PDF request in a forked child process with separate address space, which eliminates the cross-thread stack reuse condition at the cost of reduced throughput or increased process-spawn overhead. Fully disabling concurrent or pooled PDF processing eliminates the race surface entirely but may be impractical for high-volume services; in that case, prioritize patching over architectural workarounds.

Affected VersionsENISA

pdfio 0 <1.6.5

Affected Packages

euvd pdfio fix: 1.6.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

PDFio (CPE: cpe:2.3:a:michaelrsweet:pdfio:*:*:*:*:*:*:*:*) is a C library for reading and writing PDF files authored by Michael R Sweet, also known for CUPS. The vulnerability is classified as CWE-825 (Expired Pointer Dereference), a dangling-pointer condition in the pdfioDictSetStringf dictionary string-formatting function. When this function formats a string for insertion into the PDF document dictionary, it writes the output to a stack-local character buffer and stores a direct pointer to that buffer in the dictionary - without allocating heap memory or copying the bytes. Once the function returns, the associated stack frame is released and eligible for reuse by any subsequent function call. In multi-threaded or pooled-request services embedding PDFio, a later thread's stack allocation at the same address silently replaces the string the dictionary pointer references, causing one caller's document dictionary to reflect another caller's formatted string data with no error raised. The release notes for v1.6.5 explicitly confirm the fix: 'Fixed pdfioDictSetStringf which wasn't making a copy of the formatted string.'

Know when Pdfio gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-exploitable in multi-threaded deployments requiring low-privilege access; no confidentiality or availability impact, high integrity impact from silent cross-tenant dictionary string corruption.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

PDFio before 1.6.5 contains a dangling pointer vulnerability in the dictionary string-formatting function that stores a pointer to a stack-local buffer in the document dictionary without copying the string value. In multi-threaded or pooled-request environments, attackers or concurrent users can trigger stack memory reuse across requests, causing cross-tenant document content corruption by silently overwriting one caller's dictionary string values with another caller's data.

Executive ViewAI

Why It Matters

PDFio versions before 1.6.5 contain a cross-tenant data corruption vulnerability where low-privileged users can silently overwrite PDF content belonging to other tenants in shared or pooled environments. This defect exposes sensitive document data to unauthorized modification, creating significant compliance and data integrity risks for organizations relying on PDFio for document processing.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Low
niche open-source C PDF library, limited enterprise deployment footprint
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy