CVE-2026-120752

Description

A flaw was found in PyMuPDF. An attacker who controls input passed to the free text annotation feature can exploit this vulnerability to execute arbitrary code or cause a denial of service (DoS) by crashing the application. This issue is caused by copying caller-supplied callout points into a fixed-size memory buffer without adequate bounds validation, resulting in a stack-based buffer overflow.

Statement

This vulnerability is rated as an Important severity flaw because memory corruption leading to arbitrary code execution or application crash can occur within the running process context. In Red Hat environments, PyMuPDF is primarily utilized within specialized workloads such as AI container images and document processing pipelines. Exposure is constrained to scenarios where untrusted users can pass arbitrary annotation arguments to document editing functions, rather than routine PDF viewing.

Mitigation

Update pymupdf to 2.0 in rhel-ai-3 images. As an interim mitigation, applications should not pass untrusted or user-controlled callout point sequences to Page.add_freetext_annot().

--- CME Mitigation Guidance (2026-11-04) ---
Disclaimer: The following mitigation solutions are provided as a courtesy, pending the application of an official patch. This content was generated utilizing AI tools in conjunction with data from https://cmetaxonomy.org. Customers are advised to independently evaluate and test these temporary mitigations within their own infrastructure.

The highest-value action is to enforce strict length validation to reject callout point sequences containing more than three elements before passing arguments to Page.add_freetext_annot(): upgrade to PyMuPDF 2.0 (or the corresponding fixed Red Hat builds), which validate point count against the 3-element stack buffer size and throw a runtime error if exceeded, closing passing four or more callout points to Page.add_freetext_annot(). Until patched, this is a concern on Environments processing untrusted annotation input in AI container images and document editing pipelines, so Restrict applications from accepting untrusted callout point sequences and ensure callers never pass four or more points to Page.add_freetext_annot(). As a compensating measure, Enable Address Space Layout Randomization to randomize userspace memory and impede reliable exploitation, Build with Full RELRO and Position Independent Executables to prevent fixed-address targeting during stack corruption, Deploy Control Flow Integrity or Shadow Call Stack to safeguard return addresses and restrict branch targets, and Enable FORTIFY_SOURCE buffer overflow detection to abort execution upon detecting fixed-size buffer overflows during memory copy operations. These controls limit blast radius and contain exploitation, but they do not fix the underlying stack-based buffer overflow defect — apply the upstream patch to fully remediate.

Highest-impact CME: CME-1311 Input Size and Quantity Bounds Enforcement (high)

Common Vulnerability Scoring System (CVSS) Score Details

Info alert:Important note

CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).

The following CVSS metrics and score provided are preliminary and subject to review.

CVSS v3 Score Breakdown

Red HatNVDcve.org
Base Score7.5N/A7.5
Attack VectorNetworkN/ANetwork
Attack ComplexityHighN/AHigh
Privileges RequiredLowN/ALow
User InteractionNoneN/ANone
ScopeUnchangedN/AUnchanged
ConfidentialityHighN/AHigh
Integrity ImpactHighN/AHigh
Availability ImpactHighN/AHigh

Vector

Red Hat: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

cve.org: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H

Understanding the Weakness (CWE)

Integrity

Technical Impact: Modify Memory; Execute Unauthorized Code or Commands

Write operations could cause memory corruption. In some cases, an adversary can modify control data such as return addresses in order to execute unexpected code.

Availability

Technical Impact: DoS: Crash, Exit, or Restart

Attempting to access out-of-range, invalid, or unauthorized memory could cause the product to crash.

Other

Technical Impact: Unexpected State

Subsequent write operations can produce undefined or unexpected results.

Frequently Asked Questions

Want to get errata notifications? Sign up here.