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 Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 7.5 | N/A | 7.5 |
| Attack Vector | Network | N/A | Network |
| Attack Complexity | High | N/A | High |
| Privileges Required | Low | N/A | Low |
| User Interaction | None | N/A | None |
| Scope | Unchanged | N/A | Unchanged |
| Confidentiality | High | N/A | High |
| Integrity Impact | High | N/A | High |
| Availability Impact | High | N/A | High |
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
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.