Control: tags -1 - confirmed Hi Bastien,
On Wed, Dec 31, 2025 at 11:29:31AM +0100, Bastien Roucaries wrote: > control: tags -1 - confirmed > > Hi, > > Following new CVEs before uploading I propose a new PU > > > debdiff could be found here (note that diff is against stable not bookworm > security) > https://debusine.debian.net/debian/developers/artifact/2954578/raw/debdiff.txt > > Againt bookworm-security attached > > debusine build: > https://debusine.debian.net/debian/developers/work-request/302156/ > > rouca > > > diff -Nru imagemagick-6.9.11.60+dfsg/debian/changelog > imagemagick-6.9.11.60+dfsg/debian/changelog > --- imagemagick-6.9.11.60+dfsg/debian/changelog 2025-09-07 > 23:54:25.000000000 +0200 > +++ imagemagick-6.9.11.60+dfsg/debian/changelog 2025-12-30 > 17:36:07.000000000 +0100 > @@ -1,3 +1,45 @@ > +imagemagick (8:6.9.11.60+dfsg-1.6+deb12u5) bookworm; urgency=medium > + > + * Fix CVE-2025-62171 (Closes: #1118340) > + Integer Overflow in BMP Decoder (ReadBMP): > + CVE-2025-57803 claims to be patched, but the fix is incomplete > + and ineffective. > + . > + The patch added BMPOverflowCheck() but placed it > + after the overflow occurs, making it useless. > + A malicious 58-byte BMP file can trigger AddressSanitizer > + crashes and DoS. > + * Fix CVE-2025-65955 (Closes: #1122827) > + A vulnerability was found in ImageMagick’s Magick++ layer that > + manifests when Options::fontFamily is invoked with an empty > + string. Clearing a font family calls RelinquishMagickMemory on > + _drawInfo->font, freeing the font string but leaving _drawInfo->font > + pointing to freed memory while _drawInfo->family is set to that > + (now-invalid) pointer. Any later cleanup or reuse of _drawInfo->font > + re-frees or dereferences dangling memory. DestroyDrawInfo and other > + setters (Options::font, Image::font) assume _drawInfo->font remains > + valid, so destruction or subsequent updates trigger crashes or heap > + corruption > + * Fix CVE-2025-66628 (Closes: #1122584) > + The TIM (PSX TIM) image parser contains a critical integer overflow > + vulnerability in its ReadTIMImage function (coders/tim.c). The code > + reads width and height (16-bit values) from the file header and > + calculates image_size = 2 * width * height without checking for > + overflow. On 32-bit systems (or where size_t is 32-bit), this > + calculation can overflow if width and height are large (e.g., 65535), > + wrapping around to a small value > + * Fix CVE-2025-68469 > + ImageMagick crashes when processing a crafted TIFF file. > + * Fix CVE-2025-68618: > + Magick's failure to limit the depth of SVG file reads caused > + a DoS attack. > + * Fix CVE-2025-68950: > + Magick's failure to limit MVG mutual references forming a loop > + * Fix CVE-2025-69204: > + Converting a malicious MVG file to SVG caused an integer overflow. > + > + -- Bastien Roucariès <[email protected]> Tue, 30 Dec 2025 17:36:07 +0100 > + > imagemagick (8:6.9.11.60+dfsg-1.6+deb12u4) bookworm-security; urgency=medium > > * Fix CVE-2025-53014: > diff -Nru imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-62171.patch > imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-62171.patch > --- imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-62171.patch > 1970-01-01 01:00:00.000000000 +0100 > +++ imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-62171.patch > 2025-12-30 17:36:07.000000000 +0100 > @@ -0,0 +1,27 @@ > +From: Dirk Lemstra <[email protected]> > +Date: Sun, 12 Oct 2025 20:39:55 +0200 > +Subject: Added extra check to resolve issue on 32-bit systems > + > (https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-9pp9-cfwx-54rm) > + > +(cherry picked from commit 456771fae8baa9558a1421ec8d522e6937d9b2d7) > + > +origin: > https://github.com/ImageMagick/ImageMagick6/commit/456771fae8baa9558a1421ec8d522e6937d9b2d7 > +bug: > https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-9pp9-cfwx-54rm > +bug-debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1118340 > +--- > + coders/bmp.c | 2 ++ > + 1 file changed, 2 insertions(+) > + > +diff --git a/coders/bmp.c b/coders/bmp.c > +index c6ec39e..d509bd6 100644 > +--- a/coders/bmp.c > ++++ b/coders/bmp.c > +@@ -982,6 +982,8 @@ static Image *ReadBMPImage(const ImageInfo > *image_info,ExceptionInfo *exception) > + ThrowReaderException(CorruptImageError,"ImproperImageHeader"); > + if (bmp_info.compression == BI_RLE4) > + bmp_info.bits_per_pixel<<=1; > ++ if (BMPOverflowCheck(image->columns,bmp_info.bits_per_pixel) != > MagickFalse) > ++ ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed"); > + extent=image->columns*bmp_info.bits_per_pixel; > + bytes_per_line=4*((extent+31)/32); > + if (BMPOverflowCheck(bytes_per_line,image->rows) != MagickFalse) > diff -Nru imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-65955.patch > imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-65955.patch > --- imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-65955.patch > 1970-01-01 01:00:00.000000000 +0100 > +++ imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-65955.patch > 2025-12-30 17:36:07.000000000 +0100 > @@ -0,0 +1,25 @@ > +From: Dirk Lemstra <[email protected]> > +Date: Sun, 23 Nov 2025 09:17:43 +0100 > +Subject: Correct incorrect free (GHSA-q3hc-j9x5-mp9m) > + > +origin: > https://github.com/ImageMagick/ImageMagick6/commit/7d4c27fd4cb2a716a9c1d3346a5e79a692cfe6d8 > +debian-bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1122827 > + > +(cherry picked from commit 7d4c27fd4cb2a716a9c1d3346a5e79a692cfe6d8) > +--- > + Magick++/lib/Options.cpp | 2 +- > + 1 file changed, 1 insertion(+), 1 deletion(-) > + > +diff --git a/Magick++/lib/Options.cpp b/Magick++/lib/Options.cpp > +index 3d943e4..15f818d 100644 > +--- a/Magick++/lib/Options.cpp > ++++ b/Magick++/lib/Options.cpp > +@@ -312,7 +312,7 @@ void Magick::Options::fontFamily(const std::string > &family_) > + { > + if (family_.length() == 0) > + { > +- _drawInfo->family=(char *) RelinquishMagickMemory(_drawInfo->font); > ++ _drawInfo->family=(char *) RelinquishMagickMemory(_drawInfo->family); > + DestroyString(RemoveImageOption(imageInfo(),"family")); > + } > + else > diff -Nru imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-66628.patch > imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-66628.patch > --- imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-66628.patch > 1970-01-01 01:00:00.000000000 +0100 > +++ imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-66628.patch > 2025-12-30 17:36:07.000000000 +0100 > @@ -0,0 +1,28 @@ > +From: Dirk Lemstra <[email protected]> > +Date: Tue, 2 Dec 2025 22:49:19 +0100 > +Subject: Added extra check to avoid an overflow on 32-bit machines > + (GHSA-6hjr-v6g4-3fm8) > + > +origin: > https://github.com/ImageMagick/ImageMagick6/commit/7779f1ff772dfabe545c67fb2f3bfa8f7a845a2d > +bug-debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1122584 > +(cherry picked from commit 7779f1ff772dfabe545c67fb2f3bfa8f7a845a2d) > +--- > + coders/tim.c | 5 ++++- > + 1 file changed, 4 insertions(+), 1 deletion(-) > + > +diff --git a/coders/tim.c b/coders/tim.c > +index b2fd86c..8c792c6 100644 > +--- a/coders/tim.c > ++++ b/coders/tim.c > +@@ -234,7 +234,10 @@ static Image *ReadTIMImage(const ImageInfo > *image_info,ExceptionInfo *exception) > + (void) ReadBlobLSBShort(image); > + width=ReadBlobLSBShort(image); > + height=ReadBlobLSBShort(image); > +- image_size=2*width*height; > ++ if (HeapOverflowSanityCheckGetSize(2*width,height,&image_size) != > MagickFalse) > ++ ThrowReaderException(CorruptImageError,"ImproperImageHeader"); > ++ if (image_size > GetBlobSize(image)) > ++ ThrowReaderException(CorruptImageError,"InsufficientImageDataInFile"); > + bytes_per_line=width*2; > + width=(width*16)/bits_per_pixel; > + image->columns=width; > diff -Nru imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-68469.patch > imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-68469.patch > --- imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-68469.patch > 1970-01-01 01:00:00.000000000 +0100 > +++ imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-68469.patch > 2025-12-30 17:36:07.000000000 +0100 > @@ -0,0 +1,64 @@ > +From: =?utf-8?q?Bastien_Roucari=C3=A8s?= <[email protected]> > +Date: Tue, 30 Dec 2025 17:31:06 +0100 > +Subject: CVE-2025-68469 > + > +While Processing a crafted TIFF file, imagemagick crashes. > + > +Note that this patch fix also CVE-2023-3428 that is a variation of > CVE-2025-68469 > + > +origin: > https://github.com/ImageMagick/ImageMagick/issues/8508#issuecomment-3699838767 > +bug: https://github.com/advisories/GHSA-fff3-4rp7-px97 > +bug-github-issue: https://github.com/ImageMagick/ImageMagick/issues/8508 > +--- > + coders/tiff.c | 24 +++++++++++++++--------- > + 1 file changed, 15 insertions(+), 9 deletions(-) > + > +diff --git a/coders/tiff.c b/coders/tiff.c > +index 12bea21..0f615ad 100644 > +--- a/coders/tiff.c > ++++ b/coders/tiff.c > +@@ -1953,7 +1953,14 @@ static Image *ReadTIFFImage(const ImageInfo > *image_info, > + *p; > + > + size_t > +- extent; > ++ extent, > ++ length; > ++ > ++ ssize_t > ++ stride; > ++ > ++ tmsize_t > ++ tile_size; > + > + uint32 > + columns, > +@@ -1971,13 +1978,12 @@ static Image *ReadTIFFImage(const ImageInfo > *image_info, > + number_pixels=(MagickSizeType) columns*rows; > + if (HeapOverflowSanityCheck(rows,sizeof(*tile_pixels)) != > MagickFalse) > + ThrowTIFFException(ResourceLimitError,"MemoryAllocationFailed"); > +- > extent=4*(samples_per_pixel+1)*MagickMax((rows+1)*TIFFTileRowSize(tiff), > +- TIFFTileSize(tiff)); > +-#if defined(TIFF_VERSION_BIG) > +- extent+=image->columns*sizeof(uint64); > +-#else > +- extent+=image->columns*sizeof(uint32); > +-#endif > ++ > ++ tile_size=TIFFTileSize(tiff); > ++ stride=(ssize_t) TIFFTileRowSize(tiff); > ++ length=GetQuantumExtent(image,quantum_info,quantum_type); > ++ extent=(size_t) MagickMax((size_t) tile_size,rows* > ++ MagickMax((size_t) stride,length)); > + tile_pixels=(unsigned char *) AcquireQuantumMemory(extent, > + sizeof(*tile_pixels)); > + if (tile_pixels == (unsigned char *) NULL) > +@@ -2036,7 +2042,7 @@ static Image *ReadTIFFImage(const ImageInfo > *image_info, > + break; > + (void) ImportQuantumPixels(image,(CacheView *) NULL, > + quantum_info,quantum_type,p,exception); > +- p+=TIFFTileRowSize(tiff); > ++ p+=stride; > + if (SyncAuthenticPixels(image,exception) == MagickFalse) > + break; > + } > diff -Nru imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-68618.patch > imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-68618.patch > --- imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-68618.patch > 1970-01-01 01:00:00.000000000 +0100 > +++ imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-68618.patch > 2025-12-30 17:36:07.000000000 +0100 > @@ -0,0 +1,120 @@ > +From: Cristy <[email protected]> > +Date: Sun, 21 Dec 2025 12:43:25 -0500 > +Subject: CVE-2025-68618 > + > +bug: > https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-p27m-hp98-6637 > +origin: backport, > https://github.com/ImageMagick/ImageMagick6/commit/693c8497290ea0c7cac75d3068ea4fa70d7d507e > + > +[backport] > +- drop unrelated policy patch > + > +(cherry picked from commit 693c8497290ea0c7cac75d3068ea4fa70d7d507e) > +--- > + coders/msl.c | 27 +++++++++++++++++---------- > + coders/svg.c | 13 ++++++++++--- > + 2 files changed, 27 insertions(+), 13 deletions(-) > + > +diff --git a/coders/msl.c b/coders/msl.c > +index 39c14da..7560c23 100644 > +--- a/coders/msl.c > ++++ b/coders/msl.c > +@@ -125,6 +125,7 @@ typedef struct _MSLInfo > + *exception; > + > + ssize_t > ++ depth, > + n, > + number_groups; > + > +@@ -642,26 +643,24 @@ static void MSLStartElement(void *context,const > xmlChar *tag, > + int > + flags; > + > +- ssize_t > +- option, > +- j, > +- n, > +- x, > +- y; > +- > + MSLInfo > + *msl_info; > + > + RectangleInfo > + geometry; > + > +- ssize_t > +- i; > +- > + size_t > + height, > + width; > + > ++ ssize_t > ++ option, > ++ i, > ++ j, > ++ n, > ++ x, > ++ y; > ++ > + /* > + Called when an opening tag has been processed. > + */ > +@@ -669,6 +668,13 @@ static void MSLStartElement(void *context,const xmlChar > *tag, > + " SAX.startElement(%s",tag); > + exception=AcquireExceptionInfo(); > + msl_info=(MSLInfo *) context; > ++ if (msl_info->depth++ > MagickMaxRecursionDepth) > ++ { > ++ (void) ThrowMagickException(msl_info->exception,GetMagickModule(), > ++ DrawError,"VectorGraphicsNestedTooDeeply","`%s'",tag); > ++ xmlStopParser((xmlParserCtxtPtr) context); > ++ return; > ++ } > + n=msl_info->n; > + keyword=(const char *) NULL; > + value=(char *) NULL; > +@@ -7466,6 +7472,7 @@ static void MSLEndElement(void *context,const xmlChar > *tag) > + } > + if (msl_info->content != (char *) NULL) > + msl_info->content=DestroyString(msl_info->content); > ++ msl_info->depth--; > + } > + > + static void MSLCharacters(void *context,const xmlChar *c,int length) > +diff --git a/coders/svg.c b/coders/svg.c > +index 912c714f..1b3a7e1 100644 > +--- a/coders/svg.c > ++++ b/coders/svg.c > +@@ -1252,13 +1252,13 @@ static void SVGStartElement(void *context,const > xmlChar *name, > + *p, > + *value; > + > ++ size_t > ++ number_tokens; > ++ > + ssize_t > + i, > + j; > + > +- size_t > +- number_tokens; > +- > + SVGInfo > + *svg_info; > + > +@@ -1268,6 +1268,13 @@ static void SVGStartElement(void *context,const > xmlChar *name, > + (void) LogMagickEvent(CoderEvent,GetMagickModule()," > SAX.startElement(%s", > + name); > + svg_info=(SVGInfo *) context; > ++ if (svg_info->n >= MagickMaxRecursionDepth) > ++ { > ++ (void) ThrowMagickException(svg_info->exception,GetMagickModule(), > ++ DrawError,"VectorGraphicsNestedTooDeeply","`%s'",name); > ++ xmlStopParser((xmlParserCtxtPtr) context); > ++ return; > ++ } > + svg_info->n++; > + svg_info->scale=(double *) ResizeQuantumMemory(svg_info->scale, > + svg_info->n+1UL,sizeof(*svg_info->scale)); > diff -Nru imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-68950.patch > imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-68950.patch > --- imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-68950.patch > 1970-01-01 01:00:00.000000000 +0100 > +++ imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-68950.patch > 2025-12-30 17:36:07.000000000 +0100 > @@ -0,0 +1,22 @@ > +From: Cristy <[email protected]> > +Date: Fri, 26 Dec 2025 11:20:57 -0500 > +Subject: CVE-2025-68950 > + > +bug: > https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-7rvh-xqp3-pr8j > +origin: > https://github.com/ImageMagick/ImageMagick6/commit/5655e26ee9032a208ad9add1fde2877205d5e540 > +--- > + magick/draw.c | 1 + > + 1 file changed, 1 insertion(+) > + > +diff --git a/magick/draw.c b/magick/draw.c > +index 91c4954..950ed8a 100644 > +--- a/magick/draw.c > ++++ b/magick/draw.c > +@@ -5505,6 +5505,7 @@ MagickExport MagickBooleanType DrawPrimitive(Image > *image, > + if ((LocaleCompare(clone_info->magick,"ftp") != 0) && > + (LocaleCompare(clone_info->magick,"http") != 0) && > + (LocaleCompare(clone_info->magick,"https") != 0) && > ++ (LocaleCompare(clone_info->magick,"mvg") != 0) && > + (LocaleCompare(clone_info->magick,"vid") != 0)) > + composite_images=ReadImage(clone_info,exception); > + else > diff -Nru imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-69204.patch > imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-69204.patch > --- imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-69204.patch > 1970-01-01 01:00:00.000000000 +0100 > +++ imagemagick-6.9.11.60+dfsg/debian/patches/CVE-2025-69204.patch > 2025-12-30 17:36:07.000000000 +0100 > @@ -0,0 +1,54 @@ > +From: Cristy <[email protected]> > +Date: Sat, 27 Dec 2025 14:37:26 -0500 > +Subject: CVE-2025-69204 > + > +bug: > https://github.com/ImageMagick/ImageMagick/security/advisories/GHSA-hrh7-j8q2-4qcw > +origin: > https://github.com/ImageMagick/ImageMagick6/commit/c46bc2a29d0712499173c6ffda1d38d7dc8861f5 > + > +(cherry picked from commit c46bc2a29d0712499173c6ffda1d38d7dc8861f5) > +--- > + coders/svg.c | 24 ++++++++++++++++++++---- > + 1 file changed, 20 insertions(+), 4 deletions(-) > + > +diff --git a/coders/svg.c b/coders/svg.c > +index 1b3a7e1..93438bb 100644 > +--- a/coders/svg.c > ++++ b/coders/svg.c > +@@ -5158,17 +5158,33 @@ static MagickBooleanType WriteSVGImage(const > ImageInfo *image_info,Image *image) > + } > + case PathPrimitive: > + { > +- int > +- number_attributes; > ++ size_t > ++ number_attributes, > ++ quantum; > + > + (void) GetNextToken(q,&q,extent,token); > + number_attributes=1; > + for (p=token; *p != '\0'; p++) > + if (isalpha((int) *p)) > + number_attributes++; > +- if (i > (ssize_t) > (number_points-6*BezierQuantum*number_attributes-1)) > ++ if ((6*BezierQuantum) >= (MAGICK_SSIZE_MAX/number_attributes)) > + { > +- number_points+=6*BezierQuantum*number_attributes; > ++ (void) ThrowMagickException(&image->exception,GetMagickModule(), > ++ ResourceLimitError,"MemoryAllocationFailed","`%s'", > ++ image->filename); > ++ break; > ++ } > ++ quantum=(size_t) 6*BezierQuantum*number_attributes; > ++ if (number_points >= (MAGICK_SSIZE_MAX-quantum)) > ++ { > ++ (void) ThrowMagickException(&image->exception,GetMagickModule(), > ++ ResourceLimitError,"MemoryAllocationFailed","`%s'", > ++ image->filename); > ++ break; > ++ } > ++ if (i > (ssize_t) (number_points-quantum-1)) > ++ { > ++ number_points+=quantum; > + primitive_info=(PrimitiveInfo *) > ResizeQuantumMemory(primitive_info, > + number_points,sizeof(*primitive_info)); > + if (primitive_info == (PrimitiveInfo *) NULL) > diff -Nru imagemagick-6.9.11.60+dfsg/debian/patches/series > imagemagick-6.9.11.60+dfsg/debian/patches/series > --- imagemagick-6.9.11.60+dfsg/debian/patches/series 2025-09-07 > 23:53:01.000000000 +0200 > +++ imagemagick-6.9.11.60+dfsg/debian/patches/series 2025-12-30 > 17:36:07.000000000 +0100 > @@ -95,3 +95,10 @@ > CVE-2025-57803-pre1.patch > CVE-2025-57803.patch > CVE-2025-57807.patch > +CVE-2025-62171.patch > +CVE-2025-65955.patch > +CVE-2025-66628.patch > +CVE-2025-68469.patch > +CVE-2025-68618.patch > +CVE-2025-68950.patch > +CVE-2025-69204.patch Including the bugreport for the bookworm-pu update. Regards, Salvatore

