Bug 1052732 - (CVE-2017-12667) VUL-1: CVE-2017-12667: GraphicsMagick, ImageMagick: Memory leak vulnerability in ReadMATImage in coders\mat.c
(CVE-2017-12667)
VUL-1: CVE-2017-12667: GraphicsMagick, ImageMagick: Memory leak vulnerability...
Status: RESOLVED FIXED
Classification: Novell Products
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents
unspecified
Other Other
: P4 - Low : Normal
: ---
Assigned To: Security Team bot
Security Team bot
https://smash.suse.de/issue/189775/
CVSSv2:SUSE:CVE-2017-12667:5.0:(AV:N/...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2017-08-08 09:55 UTC by Johannes Segitz
Modified: 2020-06-11 20:32 UTC (History)
1 user (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
Reproducer (156 bytes, application/octet-stream)
2017-08-08 09:55 UTC, Johannes Segitz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Johannes Segitz 2017-08-08 09:55:39 UTC
Created attachment 735667 [details]
Reproducer

CVE-2017-12667

ImageMagick 7.0.6-1 has a memory leak vulnerability in ReadMATImage in
coders\mat.c.

valgrind --leak-check=full --track-origins=yes identify leak-ReadMATImage2
lots of warnings and bails in the end, but no leak

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2017-12667
https://github.com/ImageMagick/ImageMagick/commit/8985ed08f01d465ee65ab5a106186b3868b6f601
https://github.com/ImageMagick/ImageMagick/issues/553
Comment 1 Marcus Meissner 2017-09-27 11:55:06 UTC
image sized leak
Comment 2 Petr Gajdos 2018-01-08 08:45:10 UTC
12/ImageMagick

BEFORE

$ valgrind -q --leak-check=full identify leak-ReadMATImage2
==17896== Conditional jump or move depends on uninitialised value(s)
==17896==    at 0x4F8B947: DestroyQuantumInfo (quantum.c:223)
==17896==    by 0x84189AF: ReadMATImage (mat.c:1047)
==17896==    by 0x4EBFE1A: ReadImage (constitute.c:601)
==17896==    by 0x4FD1658: ReadStream (stream.c:974)
==17896==    by 0x4EBF960: PingImage (constitute.c:278)
==17896==    by 0x4EBFB9A: PingImages (constitute.c:373)
==17896==    by 0x535850B: IdentifyImageCommand (identify.c:322)
==17896==    by 0x5385C52: MagickCommandGenesis (mogrify.c:166)
==17896==    by 0x400891: IdentifyMain (identify.c:80)
==17896==    by 0x400891: main (identify.c:93)
==17896== 
==17896== Use of uninitialised value of size 8
==17896==    at 0x4F8B94E: DestroyQuantumInfo (quantum.c:224)
==17896==    by 0x84189AF: ReadMATImage (mat.c:1047)
==17896==    by 0x4EBFE1A: ReadImage (constitute.c:601)
==17896==    by 0x4FD1658: ReadStream (stream.c:974)
==17896==    by 0x4EBF960: PingImage (constitute.c:278)
==17896==    by 0x4EBFB9A: PingImages (constitute.c:373)
==17896==    by 0x535850B: IdentifyImageCommand (identify.c:322)
==17896==    by 0x5385C52: MagickCommandGenesis (mogrify.c:166)
==17896==    by 0x400891: IdentifyMain (identify.c:80)
==17896==    by 0x400891: main (identify.c:93)
==17896== 
identify: magick/quantum.c:224: DestroyQuantumInfo: Assertion `quantum_info->signature == 0xabacadabUL' failed.
/root/bin/vgql: line 3: 17896 Aborted                 (core dumped) valgrind -q --leak-check=full $@
$


AFTER

$ valgrind -q --leak-check=full identify leak-ReadMATImage2
identify: improper image header `leak-ReadMATImage2' @ error/mat.c/ReadMATImage/948.
$
Comment 4 Petr Gajdos 2018-01-08 11:03:30 UTC
BEFORE

$ valgrind -q --leak-check=full identify leak-ReadMATImage2
identify: no decode delegate for this image format `leak-ReadMATImage2'.
$

AFTER

$ valgrind -q --leak-check=full identify leak-ReadMATImage2
identify: no decode delegate for this image format `leak-ReadMATImage2'.
$

Not reproducible with the testcase. Because I am about to update mat.c (almost) to the state of 6.9.9-31, I believe the fix is in if applicable.
Comment 6 Petr Gajdos 2018-01-08 12:53:37 UTC
11/ImageMagick

(In reply to Petr Gajdos from comment #4)
> BEFORE
> 
> $ valgrind -q --leak-check=full identify leak-ReadMATImage2
> identify: no decode delegate for this image format `leak-ReadMATImage2'.
> $
> 
> AFTER
> 
> $ valgrind -q --leak-check=full identify leak-ReadMATImage2
> identify: no decode delegate for this image format `leak-ReadMATImage2'.
> $
> 
> Not reproducible with the testcase. Because I am about to update mat.c
> (almost) to the state of 6.9.9-31, I believe the fix is in if applicable.
Comment 7 Petr Gajdos 2018-01-08 13:02:43 UTC
11/GraphicsMagick

$ valgrind -q --leak-check=full gm identify leak-ReadMATImage2
gm identify: Improper image header (leak-ReadMATImage2).
gm identify: Request did not return an image.
$

42.x/GraphicsMagick

$ valgrind -q --leak-check=full gm identify leak-ReadMATImage2
gm identify: Image file or blob does not contain any image data.
gm identify: Request did not return an image.
$

11/GraphicsMagick

$ valgrind -q --leak-check=full gm identify leak-ReadMATImage2
gm identify: Improper image header (leak-ReadMATImage2).
gm identify: Request did not return an image.
$

Not reproducible with the testcase.

11/GraphicsMagick: no clone_info
42.x/GraphicsMagick: clone_info freed via ThrowMATReaderException
HG/GraphicsMagick: clone_info freed via Throw*MATReaderException

Considering not affected.
Comment 8 Petr Gajdos 2018-01-08 13:05:26 UTC
Will submit for: 12/ImageMagick and 11/ImageMagick
Comment 9 Petr Gajdos 2018-01-08 15:26:51 UTC
I believe all fixed.
Comment 11 Swamp Workflow Management 2018-01-18 14:09:12 UTC
SUSE-SU-2018:0130-1: An update that fixes 21 vulnerabilities is now available.

Category: security (moderate)
Bug References: 1047044,1047898,1050120,1050606,1051446,1052468,1052550,1052710,1052720,1052731,1052732,1055065,1055323,1055434,1055855,1058640,1059751,1074123,1074969,1074973,1074975
CVE References: CVE-2017-10800,CVE-2017-11141,CVE-2017-11529,CVE-2017-11644,CVE-2017-11724,CVE-2017-12434,CVE-2017-12564,CVE-2017-12667,CVE-2017-12670,CVE-2017-12672,CVE-2017-12675,CVE-2017-13060,CVE-2017-13146,CVE-2017-13648,CVE-2017-13658,CVE-2017-14326,CVE-2017-14533,CVE-2017-17881,CVE-2017-18022,CVE-2018-5246,CVE-2018-5247
Sources used:
SUSE Linux Enterprise Workstation Extension 12-SP3 (src):    ImageMagick-6.8.8.1-71.26.1
SUSE Linux Enterprise Workstation Extension 12-SP2 (src):    ImageMagick-6.8.8.1-71.26.1
SUSE Linux Enterprise Software Development Kit 12-SP3 (src):    ImageMagick-6.8.8.1-71.26.1
SUSE Linux Enterprise Software Development Kit 12-SP2 (src):    ImageMagick-6.8.8.1-71.26.1
SUSE Linux Enterprise Server for Raspberry Pi 12-SP2 (src):    ImageMagick-6.8.8.1-71.26.1
SUSE Linux Enterprise Server 12-SP3 (src):    ImageMagick-6.8.8.1-71.26.1
SUSE Linux Enterprise Server 12-SP2 (src):    ImageMagick-6.8.8.1-71.26.1
SUSE Linux Enterprise Desktop 12-SP3 (src):    ImageMagick-6.8.8.1-71.26.1
SUSE Linux Enterprise Desktop 12-SP2 (src):    ImageMagick-6.8.8.1-71.26.1
Comment 12 Swamp Workflow Management 2018-01-18 14:14:00 UTC
SUSE-SU-2018:0132-1: An update that fixes 31 vulnerabilities is now available.

Category: security (moderate)
Bug References: 1042948,1047044,1047898,1049373,1050120,1050606,1051412,1051446,1052252,1052468,1052550,1052710,1052720,1052731,1052732,1052771,1055065,1055323,1055434,1055855,1058082,1058640,1059751,1072902,1074122,1074123,1074425,1074610,1074969,1074973,1074975
CVE References: CVE-2017-1000445,CVE-2017-1000476,CVE-2017-10800,CVE-2017-11141,CVE-2017-11449,CVE-2017-11529,CVE-2017-11644,CVE-2017-11724,CVE-2017-11751,CVE-2017-12430,CVE-2017-12434,CVE-2017-12564,CVE-2017-12642,CVE-2017-12667,CVE-2017-12670,CVE-2017-12672,CVE-2017-12675,CVE-2017-13060,CVE-2017-13146,CVE-2017-13648,CVE-2017-13658,CVE-2017-14249,CVE-2017-14326,CVE-2017-14533,CVE-2017-17680,CVE-2017-17881,CVE-2017-17882,CVE-2017-18022,CVE-2017-9409,CVE-2018-5246,CVE-2018-5247
Sources used:
SUSE Linux Enterprise Software Development Kit 11-SP4 (src):    ImageMagick-6.4.3.6-7.78.22.1
SUSE Linux Enterprise Server 11-SP4 (src):    ImageMagick-6.4.3.6-7.78.22.1
SUSE Linux Enterprise Debuginfo 11-SP4 (src):    ImageMagick-6.4.3.6-7.78.22.1
Comment 13 Swamp Workflow Management 2018-01-20 17:13:30 UTC
openSUSE-SU-2018:0155-1: An update that fixes 21 vulnerabilities is now available.

Category: security (moderate)
Bug References: 1047044,1047898,1050120,1050606,1051446,1052468,1052550,1052710,1052720,1052731,1052732,1055065,1055323,1055434,1055855,1058640,1059751,1074123,1074969,1074973,1074975
CVE References: CVE-2017-10800,CVE-2017-11141,CVE-2017-11529,CVE-2017-11644,CVE-2017-11724,CVE-2017-12434,CVE-2017-12564,CVE-2017-12667,CVE-2017-12670,CVE-2017-12672,CVE-2017-12675,CVE-2017-13060,CVE-2017-13146,CVE-2017-13648,CVE-2017-13658,CVE-2017-14326,CVE-2017-14533,CVE-2017-17881,CVE-2017-18022,CVE-2018-5246,CVE-2018-5247
Sources used:
openSUSE Leap 42.3 (src):    ImageMagick-6.8.8.1-49.1
openSUSE Leap 42.2 (src):    ImageMagick-6.8.8.1-30.21.1
Comment 14 Marcus Meissner 2018-02-09 15:39:39 UTC
released