File CVE-2026-27888.patch of Package python-PyPDF2
From 7a4c8246ed48d9d328fb596942271da47b6d109c Mon Sep 17 00:00:00 2001
From: Stefan <96178532+stefan6419846@users.noreply.github.com>
Date: Tue, 24 Feb 2026 18:17:59 +0100
Subject: [PATCH] SEC: Use zlib decompression limit when retrieving XFA data
(#3658)
---
PyPDF2/_doc_common.py | 5 ++---
tests/test_doc_common.py | 31 ++++++++++++++++++++++++++++++-
2 files changed, 32 insertions(+), 4 deletions(-)
Index: PyPDF2-2.11.1/PyPDF2/_reader.py
===================================================================
--- PyPDF2-2.11.1.orig/PyPDF2/_reader.py
+++ PyPDF2-2.11.1/PyPDF2/_reader.py
@@ -30,7 +30,6 @@
import os
import re
import struct
-import zlib
from datetime import datetime
from io import BytesIO
from pathlib import Path
@@ -77,6 +76,7 @@ from .errors import (
PdfStreamError,
WrongPasswordError,
)
+from .filters import _decompress_with_limit
from .generic import (
ArrayObject,
ContentStream,
@@ -1920,7 +1920,6 @@ class PdfReader:
@property
def xfa(self) -> Optional[Dict[str, Any]]:
- tree: Optional[TreeObject] = None
retval: Dict[str, Any] = {}
catalog = cast(DictionaryObject, self.trailer[TK.ROOT])
@@ -1938,7 +1937,7 @@ class PdfReader:
if isinstance(f, IndirectObject):
field = cast(Optional[EncodedStreamObject], f.get_object())
if field:
- es = zlib.decompress(field._data)
+ es = _decompress_with_limit(field._data)
retval[tag] = es
return retval