mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-11-13 15:47:23 +00:00
python3-pillow: Fix CVE-2026-55380
This patch applies the upstream fix as referenced in [2], using the commit shown in [1]. [1] https://github.com/python-pillow/Pillow/commit/f39b0ae6624eb2d7c5c5d651d9bb5fdbd96a8675 [2] https://github.com/python-pillow/Pillow/security/advisories/GHSA-phj9-mv4w-65pm Signed-off-by: Yogita Urade <yurade@cisco.com> Signed-off-by: Anuj Mittal <anuj.mittal@oss.qualcomm.com>
This commit is contained in:
1 parent
c782505854
commit
6c5fed0692
2 files changed
+63
No files matched your search
@@ -0,0 +1,62 @@
|
||||
From 176781ac99ebf9aa5486384e6e2e4896b30d95b5 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Murray <3112309+radarhere@users.noreply.github.com>
|
||||
Date: Sun, 21 Jun 2026 14:06:24 +1000
|
||||
Subject: [PATCH] Add decompression bomb check to GdImageFile (#9693)
|
||||
|
||||
CVE: CVE-2026-55380
|
||||
Upstream-Status: Backport [https://github.com/python-pillow/Pillow/commit/f39b0ae6624eb2d7c5c5d651d9bb5fdbd96a8675]
|
||||
|
||||
(cherry picked from commit f39b0ae6624eb2d7c5c5d651d9bb5fdbd96a8675)
|
||||
Signed-off-by: Yogita Urade <yurade@cisco.com>
|
||||
---
|
||||
Tests/test_file_gd.py | 8 +++++++-
|
||||
src/PIL/GdImageFile.py | 3 ++-
|
||||
2 files changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Tests/test_file_gd.py b/Tests/test_file_gd.py
|
||||
index 8a49fd4fa..7d9e85976 100644
|
||||
--- a/Tests/test_file_gd.py
|
||||
+++ b/Tests/test_file_gd.py
|
||||
@@ -4,7 +4,7 @@ from io import BytesIO
|
||||
|
||||
import pytest
|
||||
|
||||
-from PIL import GdImageFile, UnidentifiedImageError
|
||||
+from PIL import GdImageFile, Image, UnidentifiedImageError, _binary
|
||||
|
||||
from .helper import assert_image_similar_tofile
|
||||
|
||||
@@ -31,6 +31,12 @@ def test_bad_mode() -> None:
|
||||
GdImageFile.open(TEST_GD_FILE, "bad mode")
|
||||
|
||||
|
||||
+def test_decompression_bomb() -> None:
|
||||
+ b = BytesIO(_binary.o16be(65535) + _binary.o16be(50000) + _binary.o16be(50000))
|
||||
+ with pytest.raises(Image.DecompressionBombError):
|
||||
+ GdImageFile.open(b)
|
||||
+
|
||||
+
|
||||
def test_invalid_file() -> None:
|
||||
invalid_file = "Tests/images/flower.jpg"
|
||||
|
||||
diff --git a/src/PIL/GdImageFile.py b/src/PIL/GdImageFile.py
|
||||
index d73bc1982..4ff96f1fa 100644
|
||||
--- a/src/PIL/GdImageFile.py
|
||||
+++ b/src/PIL/GdImageFile.py
|
||||
@@ -30,7 +30,7 @@ from __future__ import annotations
|
||||
|
||||
from typing import IO
|
||||
|
||||
-from . import ImageFile, ImagePalette, UnidentifiedImageError
|
||||
+from . import Image, ImageFile, ImagePalette, UnidentifiedImageError
|
||||
from ._binary import i16be as i16
|
||||
from ._binary import i32be as i32
|
||||
from ._typing import StrOrBytesPath
|
||||
@@ -59,6 +59,7 @@ class GdImageFile(ImageFile.ImageFile):
|
||||
|
||||
self._mode = "P"
|
||||
self._size = i16(s, 2), i16(s, 4)
|
||||
+ Image._decompression_bomb_check(self.size)
|
||||
|
||||
true_color = s[6]
|
||||
true_color_offset = 2 if true_color else 0
|
||||
@@ -10,6 +10,7 @@ SRC_URI = "git://github.com/python-pillow/Pillow.git;branch=main;protocol=https;
|
||||
file://CVE-2026-54058.patch \
|
||||
file://CVE-2026-59204.patch \
|
||||
file://CVE-2026-54059_CVE-2026-54060_CVE-2026-55379.patch \
|
||||
file://CVE-2026-55380.patch \
|
||||
"
|
||||
SRCREV = "3c41c095064200a02672d89cc5ff629eaf4b0d4f"
|
||||
|
||||
|
||||
Reference in new issue
Block a user