Synch with factory #1
BIN
gimp-3.0.4.tar.xz
LFS
BIN
gimp-3.0.4.tar.xz
LFS
Binary file not shown.
3
gimp-3.0.6.tar.xz
Normal file
3
gimp-3.0.6.tar.xz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:246c225383c72ef9f0dc7703b7d707084bbf177bd2900e94ce466a62862e296b
|
||||
size 27197880
|
||||
63
gimp-CVE-2025-14422.patch
Normal file
63
gimp-CVE-2025-14422.patch
Normal file
@@ -0,0 +1,63 @@
|
||||
From 4ff2d773d58064e6130495de498e440f4a6d5edb Mon Sep 17 00:00:00 2001
|
||||
From: Alx Sa <cmyk.student@gmail.com>
|
||||
Date: Sun, 23 Nov 2025 16:43:51 +0000
|
||||
Subject: [PATCH] plug-ins: Fix ZDI-CAN-28273
|
||||
|
||||
Resolves #15286
|
||||
Adds a check to the memory allocation
|
||||
in pnm_load_raw () with g_size_checked_mul ()
|
||||
to see if the size would go out of bounds.
|
||||
If so, we don't try to allocate and load the
|
||||
image.
|
||||
---
|
||||
plug-ins/common/file-pnm.c | 13 +++++++++++--
|
||||
1 file changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/plug-ins/common/file-pnm.c b/plug-ins/common/file-pnm.c
|
||||
index 32a33a4f35..9d349e967e 100644
|
||||
--- a/plug-ins/common/file-pnm.c
|
||||
+++ b/plug-ins/common/file-pnm.c
|
||||
@@ -674,7 +674,7 @@ load_image (GFile *file,
|
||||
GError **error)
|
||||
{
|
||||
GInputStream *input;
|
||||
- GeglBuffer *buffer;
|
||||
+ GeglBuffer *buffer = NULL;
|
||||
GimpImage * volatile image = NULL;
|
||||
GimpLayer *layer;
|
||||
char buf[BUFLEN + 4]; /* buffer for random things like scanning */
|
||||
@@ -708,6 +708,9 @@ load_image (GFile *file,
|
||||
g_object_unref (input);
|
||||
g_free (pnminfo);
|
||||
|
||||
+ if (buffer)
|
||||
+ g_object_unref (buffer);
|
||||
+
|
||||
if (image)
|
||||
gimp_image_delete (image);
|
||||
|
||||
@@ -1060,6 +1063,7 @@ pnm_load_raw (PNMScanner *scan,
|
||||
const Babl *format = NULL;
|
||||
gint bpc;
|
||||
guchar *data, *d;
|
||||
+ gsize data_size;
|
||||
gushort *s;
|
||||
gint x, y, i;
|
||||
gint start, end, scanlines;
|
||||
@@ -1070,7 +1074,12 @@ pnm_load_raw (PNMScanner *scan,
|
||||
bpc = 1;
|
||||
|
||||
/* No overflow as long as gimp_tile_height() < 1365 = 2^(31 - 18) / 6 */
|
||||
- data = g_new (guchar, gimp_tile_height () * info->xres * info->np * bpc);
|
||||
+ if (! g_size_checked_mul (&data_size, gimp_tile_height (), info->xres) ||
|
||||
+ ! g_size_checked_mul (&data_size, data_size, info->np) ||
|
||||
+ ! g_size_checked_mul (&data_size, data_size, bpc))
|
||||
+ CHECK_FOR_ERROR (FALSE, info->jmpbuf, _("Unsupported maximum value."));
|
||||
+
|
||||
+ data = g_new (guchar, data_size);
|
||||
|
||||
input = pnmscanner_input (scan);
|
||||
|
||||
--
|
||||
2.52.0
|
||||
|
||||
103
gimp-CVE-2025-14423.patch
Normal file
103
gimp-CVE-2025-14423.patch
Normal file
@@ -0,0 +1,103 @@
|
||||
From 481cdbbb97746be1145ec3a633c567a68633c521 Mon Sep 17 00:00:00 2001
|
||||
From: Alx Sa <cmyk.student@gmail.com>
|
||||
Date: Sun, 23 Nov 2025 04:22:49 +0000
|
||||
Subject: [PATCH] plug-ins: Fix ZDI-CAN-28311
|
||||
|
||||
Resolves #15292
|
||||
The IFF specification states that EHB format images
|
||||
have exactly 32 colors in their palette. However, it
|
||||
is possible for images in the wild to place an incorrect
|
||||
palette size. This patch checks for this, and either limits
|
||||
the palette size or breaks accordingly.
|
||||
---
|
||||
plug-ins/common/file-iff.c | 32 ++++++++++++++++++++++----------
|
||||
1 file changed, 22 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/plug-ins/common/file-iff.c b/plug-ins/common/file-iff.c
|
||||
index d144a96a4c..f0879470c2 100644
|
||||
--- a/plug-ins/common/file-iff.c
|
||||
+++ b/plug-ins/common/file-iff.c
|
||||
@@ -337,7 +337,7 @@ load_image (GFile *file,
|
||||
width = bitMapHeader->w;
|
||||
height = bitMapHeader->h;
|
||||
nPlanes = bitMapHeader->nPlanes;
|
||||
- row_length = (width + 15) / 16;
|
||||
+ row_length = ((width + 15) / 16) * 2;
|
||||
pixel_size = nPlanes / 8;
|
||||
aspect_x = bitMapHeader->xAspect;
|
||||
aspect_y = bitMapHeader->yAspect;
|
||||
@@ -375,6 +375,18 @@ load_image (GFile *file,
|
||||
{
|
||||
/* EHB mode adds 32 more colors. Each are half the RGB values
|
||||
* of the first 32 colors */
|
||||
+ if (palette_size < 32)
|
||||
+ {
|
||||
+ g_set_error (error, G_FILE_ERROR,
|
||||
+ g_file_error_from_errno (errno),
|
||||
+ _("Invalid ILBM colormap size"));
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ else if (palette_size > 32)
|
||||
+ {
|
||||
+ palette_size = 32;
|
||||
+ }
|
||||
+
|
||||
for (gint j = 0; j < palette_size * 2; j++)
|
||||
{
|
||||
gint offset_index = j + 32;
|
||||
@@ -386,7 +398,7 @@ load_image (GFile *file,
|
||||
gimp_cmap[offset_index * 3 + 2] =
|
||||
colorMap->colorRegister[j].blue / 2;
|
||||
}
|
||||
- /* EHB mode always has 64 colors */
|
||||
+ /* EHB mode always has 64 colors in total */
|
||||
palette_size = 64;
|
||||
}
|
||||
}
|
||||
@@ -447,7 +459,7 @@ load_image (GFile *file,
|
||||
{
|
||||
guchar *pixel_row;
|
||||
|
||||
- pixel_row = g_malloc (width * pixel_size * sizeof (guchar));
|
||||
+ pixel_row = g_malloc0 (width * pixel_size);
|
||||
|
||||
/* PBM uses one byte per pixel index */
|
||||
if (ILBM_imageIsPBM (true_image))
|
||||
@@ -459,7 +471,7 @@ load_image (GFile *file,
|
||||
else
|
||||
deleave_rgb_row (bitplanes, pixel_row, width, nPlanes, pixel_size);
|
||||
|
||||
- bitplanes += (row_length * 2 * nPlanes);
|
||||
+ bitplanes += (row_length * nPlanes);
|
||||
|
||||
gegl_buffer_set (buffer, GEGL_RECTANGLE (0, y_height, width, 1), 0,
|
||||
NULL, pixel_row, GEGL_AUTO_ROWSTRIDE);
|
||||
@@ -528,7 +540,7 @@ deleave_ham_row (const guchar *gimp_cmap,
|
||||
/* Deleave rows */
|
||||
for (gint i = 0; i < row_length; i++)
|
||||
{
|
||||
- for (gint j = 0; j < 8; j++)
|
||||
+ for (gint j = 0; j < nPlanes; j++)
|
||||
{
|
||||
guint8 bitmask = (1 << (8 - j)) - (1 << (7 - j));
|
||||
guint8 control = 0;
|
||||
@@ -590,11 +602,11 @@ deleave_ham_row (const guchar *gimp_cmap,
|
||||
}
|
||||
|
||||
static void
|
||||
-deleave_rgb_row (IFF_UByte *bitplanes,
|
||||
- guchar *pixel_row,
|
||||
- gint width,
|
||||
- gint nPlanes,
|
||||
- gint pixel_size)
|
||||
+deleave_rgb_row (IFF_UByte *bitplanes,
|
||||
+ guchar *pixel_row,
|
||||
+ gint width,
|
||||
+ gint nPlanes,
|
||||
+ gint pixel_size)
|
||||
{
|
||||
gint row_length = ((width + 15) / 16) * 2;
|
||||
gint current_pixel = 0;
|
||||
--
|
||||
2.52.0
|
||||
|
||||
31
gimp-CVE-2025-14424.patch
Normal file
31
gimp-CVE-2025-14424.patch
Normal file
@@ -0,0 +1,31 @@
|
||||
From 5cc55d078b7fba995cef77d195fac325ee288ddd Mon Sep 17 00:00:00 2001
|
||||
From: Jacob Boerema <jgboerema@gmail.com>
|
||||
Date: Thu, 13 Nov 2025 18:26:51 -0500
|
||||
Subject: [PATCH] app: fix #15288 crash when loading malformed xcf
|
||||
|
||||
ZDI-CAN-28376 vulnerability
|
||||
|
||||
Add extra tests to not crash on a NULL g_class.
|
||||
---
|
||||
app/core/gimpitemlist.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/app/core/gimpitemlist.c b/app/core/gimpitemlist.c
|
||||
index 93dfc83427..5aeb4916d8 100644
|
||||
--- a/app/core/gimpitemlist.c
|
||||
+++ b/app/core/gimpitemlist.c
|
||||
@@ -345,7 +345,10 @@ gimp_item_list_named_new (GimpImage *image,
|
||||
g_return_val_if_fail (GIMP_IS_IMAGE (image), NULL);
|
||||
|
||||
for (iter = items; iter; iter = iter->next)
|
||||
- g_return_val_if_fail (g_type_is_a (G_OBJECT_TYPE (iter->data), item_type), NULL);
|
||||
+ {
|
||||
+ g_return_val_if_fail (iter->data && ((GTypeInstance*) (iter->data))->g_class, NULL);
|
||||
+ g_return_val_if_fail (g_type_is_a (G_OBJECT_TYPE (iter->data), item_type), NULL);
|
||||
+ }
|
||||
|
||||
if (! items)
|
||||
{
|
||||
--
|
||||
2.52.0
|
||||
|
||||
69
gimp-CVE-2025-14425.patch
Normal file
69
gimp-CVE-2025-14425.patch
Normal file
@@ -0,0 +1,69 @@
|
||||
From cd1c88a0364ad1444c06536731972a99bd8643fd Mon Sep 17 00:00:00 2001
|
||||
From: Alx Sa <cmyk.student@gmail.com>
|
||||
Date: Wed, 12 Nov 2025 13:25:44 +0000
|
||||
Subject: [PATCH] plug-ins: Mitigate ZDI-CAN-28248 for JP2 images
|
||||
|
||||
Resolves #15285
|
||||
Per the report, it's possible to exceed the size of the pixel buffer
|
||||
with a high precision_scaled value, as we size it to the width * bpp.
|
||||
This patch includes precision_scaled in the allocation calculation.
|
||||
It also adds a g_size_checked_mul () check to ensure there's no
|
||||
overflow, and moves the pixel and buffer memory freeing to occur
|
||||
in the out section so that it always runs even on failure.
|
||||
---
|
||||
diff -urp gimp-3.0.6.orig/plug-ins/common/file-jp2-load.c gimp-3.0.6/plug-ins/common/file-jp2-load.c
|
||||
--- gimp-3.0.6.orig/plug-ins/common/file-jp2-load.c 2025-10-05 12:14:02.000000000 -0500
|
||||
+++ gimp-3.0.6/plug-ins/common/file-jp2-load.c 2026-01-16 13:01:30.366333187 -0600
|
||||
@@ -1045,14 +1045,15 @@ load_image (GimpProcedure *procedure
|
||||
GimpColorProfile *profile = NULL;
|
||||
GimpImage *gimp_image = NULL;
|
||||
GimpLayer *layer;
|
||||
+ GeglBuffer *buffer = NULL;
|
||||
+ guchar *pixels = NULL;
|
||||
+ gsize pixels_size;
|
||||
GimpImageType image_type;
|
||||
GimpImageBaseType base_type;
|
||||
gint width;
|
||||
gint height;
|
||||
gint num_components;
|
||||
- GeglBuffer *buffer;
|
||||
gint i, j, k, it;
|
||||
- guchar *pixels;
|
||||
const Babl *file_format;
|
||||
gint bpp;
|
||||
GimpPrecision image_precision;
|
||||
@@ -1318,7 +1319,15 @@ load_image (GimpProcedure *procedure
|
||||
bpp = babl_format_get_bytes_per_pixel (file_format);
|
||||
|
||||
buffer = gimp_drawable_get_buffer (GIMP_DRAWABLE (layer));
|
||||
- pixels = g_new0 (guchar, width * bpp);
|
||||
+
|
||||
+ if (! g_size_checked_mul (&pixels_size, width, (bpp * (precision_scaled / 8))))
|
||||
+ {
|
||||
+ g_set_error (error, GIMP_PLUG_IN_ERROR, 0,
|
||||
+ _("Defined row size is too large in JP2 image '%s'."),
|
||||
+ gimp_file_get_utf8_name (file));
|
||||
+ goto out;
|
||||
+ }
|
||||
+ pixels = g_new0 (guchar, pixels_size);
|
||||
|
||||
for (i = 0; i < height; i++)
|
||||
{
|
||||
@@ -1344,13 +1353,13 @@ load_image (GimpProcedure *procedure
|
||||
gegl_buffer_set (buffer, GEGL_RECTANGLE (0, i, width, 1), 0,
|
||||
file_format, pixels, GEGL_AUTO_ROWSTRIDE);
|
||||
}
|
||||
-
|
||||
- g_free (pixels);
|
||||
-
|
||||
- g_object_unref (buffer);
|
||||
gimp_progress_update (1.0);
|
||||
|
||||
out:
|
||||
+ if (pixels)
|
||||
+ g_free (pixels);
|
||||
+ if (buffer)
|
||||
+ g_object_unref (buffer);
|
||||
if (profile)
|
||||
g_object_unref (profile);
|
||||
if (image)
|
||||
38
gimp-CVE-2025-15059.patch
Normal file
38
gimp-CVE-2025-15059.patch
Normal file
@@ -0,0 +1,38 @@
|
||||
From 03575ac8cbb0ef3103b0a15d6598475088dcc15e Mon Sep 17 00:00:00 2001
|
||||
From: Jacob Boerema <jgboerema@gmail.com>
|
||||
Date: Sat, 20 Dec 2025 10:10:48 -0500
|
||||
Subject: [PATCH] plug-ins: fix #15284 ZDI-CAN-28232 vulnerability in file-psp
|
||||
|
||||
We were not checking whether channel types were valid for grayscale
|
||||
images. Using a blue color channel caused an invalid computation of
|
||||
the offset which could cause us to access an invalid memory location.
|
||||
|
||||
Now we separate RGB from non-RGB images when checking which channels
|
||||
are valid, and if not return with an error.
|
||||
---
|
||||
plug-ins/common/file-psp.c | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/plug-ins/common/file-psp.c b/plug-ins/common/file-psp.c
|
||||
index f00251c573..3f6970561f 100644
|
||||
--- a/plug-ins/common/file-psp.c
|
||||
+++ b/plug-ins/common/file-psp.c
|
||||
@@ -2171,11 +2171,12 @@ read_layer_block (FILE *f,
|
||||
}
|
||||
else
|
||||
{
|
||||
- if (channel_type > PSP_CHANNEL_BLUE)
|
||||
+ if ((ia->base_type == GIMP_RGB && channel_type > PSP_CHANNEL_BLUE) ||
|
||||
+ (ia->base_type != GIMP_RGB && channel_type >= PSP_CHANNEL_RED))
|
||||
{
|
||||
g_set_error (error, G_FILE_ERROR, G_FILE_ERROR_FAILED,
|
||||
- _("Invalid channel type %d in channel information chunk"),
|
||||
- channel_type);
|
||||
+ _("Invalid channel type %d in channel information chunk"),
|
||||
+ channel_type);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
--
|
||||
2.51.0
|
||||
|
||||
247
gimp.changes
247
gimp.changes
@@ -1,3 +1,244 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 16 17:52:35 UTC 2026 - Michael Gorse <mgorse@suse.com>
|
||||
|
||||
- Add CVE fixes:
|
||||
+ gimp-CVE-2025-14422.patch (bsc#1255293 CVE-2025-14422)
|
||||
+ gimp-CVE-2025-14423.patch (bsc#1255294 CVE-2025-14423)
|
||||
+ gimp-CVE-2025-14424.patch (bsc#1255295 CVE-2025-14424)
|
||||
+ gimp-CVE-2025-14425.patch (bsc#1255296 CVE-2025-14425)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 7 06:06:45 UTC 2026 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||
|
||||
- Add gimp-CVE-2025-15059.patch: vulnerability in file-psp
|
||||
(CVE-2025-15059, ZDI-CAN-28232, bsc#1255766).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 1 07:26:22 UTC 2025 - JS <obs.coke518@passinbox.com>
|
||||
|
||||
- Relax the gtk3_version requirement so that Leap 16.0 can build
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 7 01:06:50 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- switch from pkgconfig(appstream-glib) to pkgconfig(appstream)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 7 00:56:55 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||
|
||||
- Update to 3.0.6
|
||||
- Security:
|
||||
- During development, we received reports from the Zero Day
|
||||
Initiative of potential security issues with some of our file
|
||||
import plug-ins. While these issues are very unlikely to
|
||||
occur with real files, developers like Jacob Boerema and Alx
|
||||
Sa proactively improved security for those imports.
|
||||
The resolved reports are:
|
||||
- ZDI-CAN-27793
|
||||
- ZDI-CAN-27823
|
||||
- ZDI-CAN-27836
|
||||
- ZDI-CAN-27878
|
||||
- ZDI-CAN-27684
|
||||
- fix dicom plug-in:
|
||||
Adds more safety checks and sets actual GError's instead of just
|
||||
calling gimp_quit. Fix GIMP DCM File Parsing Heap-based Buffer
|
||||
Overflow Remote Code Execution Vulnerability
|
||||
(CVE-2025-10922, ZDI-CAN-27863, bsc#1250497)
|
||||
- Core:
|
||||
- Many false-positive build warnings have been cleaned out (and
|
||||
proper issues fixed).
|
||||
- Various crashes fixed.
|
||||
- When creating a layer mask from the layer's alpha, but the
|
||||
layer has no alpha, simply fill the mask with complete
|
||||
opacity instead of a completely transparent layer.
|
||||
- Various core infrastructure code reviewed, cleaned up,
|
||||
refactored and improved, in drawable, layer and filter
|
||||
handling code, tree view code, and more.
|
||||
- GIMP_ICONS_LIKE_A_BOSS environment variable is not working
|
||||
anymore (because "gtk-menu-images" and "gtk-button-images"
|
||||
have been deprecated in GTK3 and removed in GTK4) and was
|
||||
therefore removed.
|
||||
- Lock Content now shows as an undo step.
|
||||
- Add alpha channel for certain transforms.
|
||||
- Add alpha channel on filter merge, when necessary.
|
||||
- Filters can now be applied non-destructively on channels.
|
||||
- Improved Photoshop brush support.
|
||||
- After deleting a palette entry, the next entry is
|
||||
automatically selected. This allows easily deleting several
|
||||
entries in a row, among other usage.
|
||||
- Resize image to layers irrespective to selections.
|
||||
- Improved in-GUI release notes' demo script language:
|
||||
- We can now set a button value to click it: "toolbox:text,
|
||||
tool-options:outline=1, tool-options:outline-direction"
|
||||
- Color selector's module names can be used as identifiers:
|
||||
"color-editor,color-editor:CMYK=1,color-editor:total-ink-coverage"
|
||||
- Fixed Alpha to Selection on single layers with no
|
||||
transparency.
|
||||
- Various code is slowly ported to newer code, preparing for
|
||||
GTK4 port (in an unplanned future step):
|
||||
- Using g_set_str() (optionally redefining it in our core
|
||||
code to avoid bumping the GLib minimum requirement).
|
||||
- Start using GListModel in various pieces of code, in
|
||||
particular getting rid of more and more usage of
|
||||
GtkTreeView when possible (as it will be deprecated with
|
||||
GTK4).
|
||||
- New GimpRow class for all future row widgets.
|
||||
- Use more of G_DECLARE_DERIVABLE_TYPE and
|
||||
G_DECLARE_FINAL_TYPE where relevant.
|
||||
- New GimpContainerListView using a GtkListBox.
|
||||
- New GimpRowSeparator, GimpRowSettings, GimpRowFilter and
|
||||
GimpRowDrawableFilter widgets.
|
||||
- (Experimental) GEX Format was updated.
|
||||
- Palette import:
|
||||
- Set alpha value for image palette imports.
|
||||
- Fix Lab & CMYK ACB palette import.
|
||||
- Add palette format filters to import dialog, making it more
|
||||
apparent what palette formats are supported, and giving the
|
||||
ability to hide irrelevant files.
|
||||
- Improved filter actions' sensitivity to make sure they are
|
||||
set insensitive when relevant. In particular filters which
|
||||
cannot be run non-destructively (e.g. filters with aux
|
||||
inputs, non-interactive filters and GEGL Graph) must be
|
||||
insensitive when trying to run them on group layers.
|
||||
- Fix bad axis centering on zoom out.
|
||||
- Export better SVG when exporting paths.
|
||||
- Tools:
|
||||
- Text tool: make sure the default color is only changed when
|
||||
the user confirms the color change.
|
||||
- Foreground Selection tool: do not create a selection when no
|
||||
strokes has been made. In particular this removes the
|
||||
unnecessary delay which happened when switching to another
|
||||
tool without actually stroking anything.
|
||||
- All Transform tools: transform boundaries for preview is now
|
||||
multi-layers aware.
|
||||
- (Experimental) Seamless Clone tool: made to work again,
|
||||
though it is still too slow to get out of Playground.
|
||||
- Graphical User Interface:
|
||||
- Various improvements to window management:
|
||||
- Keep-Above windows are set with the Utility hint.
|
||||
- Utility windows are not made transient to a parent.
|
||||
- Transient factory dialogs follow the active display,
|
||||
ensuring that new image windows would not hide your toolbox
|
||||
and dock windows.
|
||||
- Various CSS improvements for styling of the interface. Some
|
||||
theme leaks were also fixed.
|
||||
- New toggle button in Brushes and Fonts dockable, allowing
|
||||
brush and font previews to optionally follow the color theme.
|
||||
For instance, when using a dark theme, the brush and font
|
||||
previews could be drawn on the theme background, using the
|
||||
theme foreground colors. By default, these data previews are
|
||||
still drawn as black on white.
|
||||
- Palette grid is now drawn with the theme's background color.
|
||||
- Consistent naming patterns on human-facing options (first
|
||||
word only capitalized).
|
||||
- About dialog:
|
||||
- We will now display the date and time of the last check in
|
||||
a "Up to date as of <date> at <time>" string, differing
|
||||
from the "Last checked on <date> at <time>" string. The
|
||||
former will be used to indicate that GIMP is indeed
|
||||
up-to-date whereas the latter when a new version was
|
||||
released and that you should update.
|
||||
- We now respect the system time/date format on macOS and
|
||||
Windows.
|
||||
- The search popup won't pop up without an image.
|
||||
- Better zoom step algorithm for data previews in container
|
||||
popup (e.g. the brush popup in paint Tool Options).
|
||||
- Disable animation in the Input Controller, Preferences and
|
||||
Welcome dialogs for stack transition when animation are
|
||||
disabled in system settings.
|
||||
- Fixed crosshair hotspot on Windows (crosshair cursor for
|
||||
brushes was offset with a non-100% display scale factor).
|
||||
- Debug/CRITICAL dialog:
|
||||
- Make sure it is non-modal.
|
||||
- Follow the theme mode under Windows.
|
||||
- While loading images, all widgets in the file dialog are made
|
||||
insensitive, except for the Cancel button and the progress
|
||||
bar.
|
||||
- Both grid and list views can now zoom via scroll and zoom
|
||||
gestures (it used to only work in list views).
|
||||
- Pop an error message up on startup when GIO modules to read
|
||||
HTTPS links are not found and that we therefore fail to load
|
||||
the remote gimp_versions.json file. With the AppImage package
|
||||
in particular, we depend on an environment daemon which
|
||||
cannot be shipped in the package. So the next best thing is
|
||||
to warn people and tell them what they should install to get
|
||||
version checks.
|
||||
- Welcome dialog:
|
||||
- The "Community Tutorials" link is now shown after the
|
||||
"Documentation" link.
|
||||
- The "Learn more" link in Release Notes tab leads to the
|
||||
actual release news for this version.
|
||||
- Plug-ins:
|
||||
- PDF export: do not draw disabled layer masks.
|
||||
- Jigsaw: the plug-in can now draw on transparent layers.
|
||||
- Various file format fixes and improvements: JPEG 2000 import,
|
||||
TIFF import, DDS import, SVG import, PSP import, FITS export,
|
||||
ICNS import, Dicom import, WBMP import, Farbfeld import, XWD
|
||||
import, ILBM import.
|
||||
- Sphere Designer: use spin scale instead of spin entries (the
|
||||
latter is unusable with little horizontal space).
|
||||
- Animation Play: frames are shown again in the playback
|
||||
progress bar.
|
||||
- Vala Goat Exercise: ignoring C warning in this Vala plug-in
|
||||
as it is generated code and we cannot control it.
|
||||
- file-gih: brush pipe selection modes now have nice,
|
||||
translatable names.
|
||||
- Metadata viewer: port from GtkTreeView to GtkListBox.
|
||||
- File Raw Data: reduce Raw Data load dialogue height by moving
|
||||
to a 2-column layout.
|
||||
- SVG import: it is now possible to break aspect ratio with
|
||||
specific width/height arguments, when calling the PDB
|
||||
procedure non-interactively (from other plug-ins).
|
||||
- Print: when run through a portal print dialog, the "Image
|
||||
Settings" will be exposed as a secondary dialog, outputted
|
||||
after the portal dialog, instead of a tab on the main print
|
||||
dialog (because it is not possible to tweak the print dialog
|
||||
when it is created by a portal). This will bring back usable
|
||||
workflow of printing with GIMP when run in a sandbox (e.g.
|
||||
Flatpak or Snap).
|
||||
- Recompose: fixed for YCbCr decomposed images.
|
||||
- Fixed vulnerabilities: ZDI-CAN-27684, ZDI-CAN-27863,
|
||||
ZDI-CAN-27878, ZDI-CAN-27836, ZDI-CAN-27823, ZDI-CAN-27793.
|
||||
- C Source and HTML export can now be run non-interactively too
|
||||
(e.g. from other plug-ins).
|
||||
- Map Object: fix missing spin boxes.
|
||||
- Small Tiles: fix display lag.
|
||||
- drop patches included in release:
|
||||
gimp-CVE-2025-10920.patch
|
||||
gimp-CVE-2025-10922.patch
|
||||
gimp-CVE-2025-10924.patch
|
||||
gimp-CVE-2025-10925.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 27 05:21:18 UTC 2025 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add gimp-CVE-2025-10925.patch:
|
||||
Fix GIMP ILBM file parsing stack-based buffer overflow remote code
|
||||
execution vulnerability.
|
||||
(CVE-2025-10925, ZDI-25-914, ZDI-CAN-27793, bsc#1250501)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 27 03:12:55 UTC 2025 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add gimp-CVE-2025-10922.patch:
|
||||
Fix GIMP DCM file parsing heap-based buffer overflow remote code
|
||||
execution vulnerability.
|
||||
(CVE-2025-10922, ZDI-25-911, ZDI-CAN-27863, bsc#1250497)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 27 02:46:19 UTC 2025 - Cliff Zhao <qzhao@suse.com>
|
||||
|
||||
- Add gimp-CVE-2025-10920.patch:
|
||||
Prevent overflow attack by checking if output >= max, not just
|
||||
output > max.
|
||||
(CVE-2025-10920, ZDI-25-909, ZDI-CAN-27684, bsc#1250495)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 25 10:29:33 UTC 2025 - Alynx Zhou <alynx.zhou@suse.com>
|
||||
|
||||
- Add gimp-CVE-2025-10924.patch: Fix integer overflow while parsing
|
||||
FF files. (CVE-2025-10924, bsc#1250499)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 19 06:52:00 UTC 2025 - Paolo Stivanin <info@paolostivanin.com>
|
||||
|
||||
@@ -105,6 +346,12 @@ Mon Feb 10 16:35:33 UTC 2025 - Marcus Rueckert <mrueckert@suse.de>
|
||||
- drop upstream patches:
|
||||
33ab56f55406cc3cbe3cc7c0627340da1c1f2d6a.patch
|
||||
gdb.patch
|
||||
- A vulnerability allows remote attackers to execute arbitrary
|
||||
code on affected installations of GIMP. The specific flaw exists
|
||||
within parsing of XWD files. An integer overflow happens before
|
||||
allocating a buffer. This fixed in GIMP 3.0.0.
|
||||
https://www.gimp.org/news/2025/03/16/gimp-3-0-released
|
||||
(CVE-2025-2760, bsc#1241690)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 5 08:39:04 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
20
gimp.spec
20
gimp.spec
@@ -35,7 +35,7 @@
|
||||
%bcond_with debug_in_build_gimp
|
||||
|
||||
%define alsa_version 1.0.0
|
||||
%define appstream_glib_version 0.7.7
|
||||
%define appstream_version 0.16.1
|
||||
%define atk_version 2.4.0
|
||||
%define babl_version 0.1.114
|
||||
%define cairo_version 1.14.0
|
||||
@@ -49,7 +49,7 @@
|
||||
%define gegl_version 0.4.62
|
||||
%define gexiv2_version 0.14.0
|
||||
%define glib_version 2.70.0
|
||||
%define gtk3_version 3.24.48
|
||||
%define gtk3_version 3.24.50
|
||||
%define gudev_version 167
|
||||
%define harfbuzz_version 2.8.2
|
||||
%define lcms2_version 2.8
|
||||
@@ -85,7 +85,7 @@
|
||||
%define pkg_name gimp
|
||||
|
||||
Name: gimp
|
||||
Version: 3.0.4
|
||||
Version: 3.0.6
|
||||
Release: 0
|
||||
%global pkg_version %{version}
|
||||
Summary: The GNU Image Manipulation Program
|
||||
@@ -100,6 +100,16 @@ Source2: openSUSE.gpl
|
||||
Patch1: gimp-2.99.19-cm-system-monitor-profile-by-default.patch
|
||||
Patch2: gimp-2.99.19-external-help-browser.patch
|
||||
Patch3: gimp-2.99.19-no-phone-home-default.patch
|
||||
# PATCH-FIX-UPSTREAM gimp-CVE-2025-15059.patch CVE-2025-15059 bsc#1255766 xwang@suse.com -- vulnerability in file-psp
|
||||
Patch4: gimp-CVE-2025-15059.patch
|
||||
# PATCH-FIX-UPSTREAM gimp-CVE-2025-14422.patch bsc#1255293 mgorse@suse.com -- fix an overflow in the pnm parser.
|
||||
Patch5: gimp-CVE-2025-14422.patch
|
||||
# PATCH-FIX-UPSTREAM gimp-CVE-2025-14423.patch bsc#1255294 mgorse@suse.com -- fix an overflow parsing LBM files.
|
||||
Patch6: gimp-CVE-2025-14423.patch
|
||||
# PATCH-FIX-UPSTREAM gimp-CVE-2025-14424.patch bsc#1255295 mgorse@suse.com -- fix a use after free in the XCF parser.
|
||||
Patch7: gimp-CVE-2025-14424.patch
|
||||
# PATCH-FIX-UPSTREAM gimp-CVE-2025-14425.patch bsc#1255296 mgorse@suse.com -- fix an overflow when reading jp2 files.
|
||||
Patch8: gimp-CVE-2025-14425.patch
|
||||
%if %{with debug_in_build_gimp}
|
||||
BuildRequires: gdb
|
||||
%endif
|
||||
@@ -146,7 +156,7 @@ BuildRequires: pkgconfig(cfitsio)
|
||||
BuildRequires: pkgconfig(libjxl) >= %{libjxl_version}
|
||||
BuildRequires: pkgconfig(OpenEXR) >= %{OpenEXR_version}
|
||||
BuildRequires: pkgconfig(alsa) >= %{alsa_version}
|
||||
BuildRequires: pkgconfig(appstream-glib) >= %{appstream_glib_version}
|
||||
BuildRequires: pkgconfig(appstream) >= %{appstream_version}
|
||||
BuildRequires: pkgconfig(atk) >= %{atk_version}
|
||||
BuildRequires: pkgconfig(babl-0.1) >= %{babl_version}
|
||||
BuildRequires: pkgconfig(bzip2)
|
||||
@@ -500,7 +510,7 @@ install -m 644 -c macros.gimp \
|
||||
|
||||
%if %{with python_plugin}
|
||||
%files plugin-python3 -f plugins-python.list
|
||||
%{_libdir}/gimp/3.0/environ/python.env
|
||||
#{_libdir}/gimp/3.0/environ/python.env
|
||||
%endif
|
||||
|
||||
%files vala
|
||||
|
||||
Reference in New Issue
Block a user