Vulnerabilities > CVE-2017-9440 - Missing Release of Resource after Effective Lifetime vulnerability in Imagemagick 7.0.55

047910
CVSS 4.3 - MEDIUM
Attack vector
NETWORK
Attack complexity
MEDIUM
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
PARTIAL
network
imagemagick
CWE-772
nessus

Summary

In ImageMagick 7.0.5-5, a memory leak was found in the function ReadPSDChannel in coders/psd.c, which allows attackers to cause a denial of service via a crafted file.

Vulnerable Configurations

Part Description Count
Application
Imagemagick
1

Common Attack Pattern Enumeration and Classification (CAPEC)

  • HTTP DoS
    An attacker performs flooding at the HTTP level to bring down only a particular web application rather than anything listening on a TCP/IP connection. This denial of service attack requires substantially fewer packets to be sent which makes DoS harder to detect. This is an equivalent of SYN flood in HTTP. The idea is to keep the HTTP session alive indefinitely and then repeat that hundreds of times. This attack targets resource depletion weaknesses in web server software. The web server will wait to attacker's responses on the initiated HTTP sessions while the connection threads are being exhausted.

Nessus

  • NASL familyWindows
    NASL idIMAGEMAGICK_7_0_5_8.NASL
    descriptionThe version of ImageMagick installed on the remote Windows host is 6.x prior to 6.9.8-10 or 7.x prior to 7.0.5-9. It is, therefore, affected by multiple vulnerabilities : - A flaw exists in the ReadRLEImage() function within file coders/rle.c when reading image color maps due to issues related to a
    last seen2020-06-01
    modified2020-06-02
    plugin id100847
    published2017-06-16
    reporterThis script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/100847
    titleImageMagick 6.x < 6.9.8-10 / 7.x < 7.0.5-9 Multiple Vulnerabilities
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(100847);
      script_version("1.10");
      script_cvs_date("Date: 2019/11/13");
    
      script_cve_id(
        "CVE-2017-7606",
        "CVE-2017-7619",
        "CVE-2017-7941",
        "CVE-2017-7942",
        "CVE-2017-7943",
        "CVE-2017-8343",
        "CVE-2017-8344",
        "CVE-2017-8345",
        "CVE-2017-8346",
        "CVE-2017-8347",
        "CVE-2017-8348",
        "CVE-2017-8349",
        "CVE-2017-8350",
        "CVE-2017-8351",
        "CVE-2017-8352",
        "CVE-2017-8353",
        "CVE-2017-8354",
        "CVE-2017-8355",
        "CVE-2017-8356",
        "CVE-2017-8357",
        "CVE-2017-8765",
        "CVE-2017-8830",
        "CVE-2017-9098",
        "CVE-2017-9141",
        "CVE-2017-9142",
        "CVE-2017-9143",
        "CVE-2017-9144",
        "CVE-2017-9261",
        "CVE-2017-9262",
        "CVE-2017-9405",
        "CVE-2017-9407",
        "CVE-2017-9409",
        "CVE-2017-9439",
        "CVE-2017-9440",
        "CVE-2017-9500"
      );
      script_bugtraq_id(
        97944,
        97946,
        97956,
        98132,
        98136,
        98138,
        98346,
        98363,
        98364,
        98370,
        98371,
        98372,
        98373,
        98374,
        98377,
        98378,
        98380,
        98388,
        98593,
        98603,
        98606,
        98682,
        98683,
        98685,
        98687,
        98688,
        98689,
        98730,
        98735,
        98907,
        98908,
        98941
      );
    
      script_name(english:"ImageMagick 6.x < 6.9.8-10 / 7.x < 7.0.5-9 Multiple Vulnerabilities");
      script_summary(english:"Checks the version of ImageMagick.");
    
      script_set_attribute(attribute:"synopsis", value:
    "An application installed on the remote Windows host is affected by
    multiple vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The version of ImageMagick installed on the remote Windows host is 6.x
    prior to 6.9.8-10 or 7.x prior to 7.0.5-9. It is, therefore, affected
    by multiple vulnerabilities :
    
      - A flaw exists in the ReadRLEImage() function within file
        coders/rle.c when reading image color maps due to issues
        related to a 'type unsigned char' falling outside the
        range of representable values. An unauthenticated,
        remote attacker can exploit this, via a specially
        crafted image, to cause a denial of service condition or
        possibly have other impact. (CVE-2017-7606)
    
      - An infinite loop condition exists in multiple color
        algorithms within file magick/enhance.c due to a
        floating-point rounding error. An unauthenticated,
        remote attacker can exploit this to consume excessive
        resources, resulting in a denial of service condition.
        (CVE-2017-7619)
    
      - A denial of service vulnerability exists in the
        ReadSGIImage() function within file coders/sgi.c when
        handling a specially crafted file. An unauthenticated,
        remote attacker can exploit this to consume excessive
        memory resources. (CVE-2017-7941)
    
      - A denial of service vulnerability exists in the
        ReadAVSImage() function within file coders/avs.c when
        handling a specially crafted file. An unauthenticated,
        remote attacker can exploit this to consume excessive
        memory resources. (CVE-2017-7942)
    
      - A denial of service vulnerability exists in the
        ReadSVGImage() function within file coders/svg.c when
        handling a specially crafted file. An unauthenticated,
        remote attacker can exploit this to consume excessive
        memory resources. (CVE-2017-7943)
    
      - A denial of service vulnerability exists in the
        ReadAAIImage() function within file aai.c when handling
        specially crafted AAI files. An unauthenticated, remote
        attacker can exploit this to consume excessive memory
        resources. (CVE-2017-8343)
    
      - A denial of service vulnerability exists in the
        ReadPCXImage() function within file pcx.c when handling
        specially crafted DCX files. An unauthenticated, remote
        attacker can exploit this to consume excessive memory
        resources. (CVE-2017-8344)
    
      - A denial of service vulnerability exists in the
        ReadMNGImage() function within file png.c when handling
        specially crafted MNG files. An unauthenticated, remote
        attacker can exploit this to consume excessive memory
        resources. (CVE-2017-8345)
    
      - A denial of service vulnerability exists in the
        ReadDCMImage() function within file dcm.c when handling
        specially crafted DCM files. An unauthenticated, remote
        attacker can exploit this to consume excessive memory
        resources. (CVE-2017-8346)
    
      - A denial of service vulnerability exists in the
        ReadEXRImage() function within file exr.c when handling
        specially crafted EXR files. An unauthenticated, remote
        attacker can exploit this to consume excessive memory
        resources. (CVE-2017-8347)
    
      - A denial of service vulnerability exists in the
        ReadMATImage() function within file mat.c when handling
        specially crafted MAT files. An unauthenticated, remote
        attacker can exploit this to consume excessive memory
        resources. (CVE-2017-8348)
    
      - A denial of service vulnerability exists in the
        ReadSFWImage() function within file sfw.c when handling
        specially crafted SFW files. An unauthenticated, remote
        attacker can exploit this to consume excessive memory
        resources. (CVE-2017-8349)
    
      - A denial of service vulnerability exists in the
        ReadJNGImage() function within file png.c when handling
        specially crafted JNG files. An unauthenticated, remote
        attacker can exploit this to consume excessive memory
        resources. (CVE-2017-8350)
    
      - A denial of service vulnerability exists in the
        ReadPCDImage() function within file pcd.c when handling
        specially crafted PCD files. An unauthenticated, remote
        attacker can exploit this to consume excessive memory
        resources. (CVE-2017-8351)
    
      - A denial of service vulnerability exists in the
        ReadXWDImage() function within file coders/xwd.c when
        parsing XWD images. An unauthenticated, remote attacker
        can exploit this, via a specially crafted file, to
        consume excessive memory resources. (CVE-2017-8352)
    
      - A denial of service vulnerability exists in the
        ReadPICTImage() function within file coders/pict.c when
        parsing PICT images. An unauthenticated, remote attacker
        can exploit this, via a specially crafted file, to
        consume excessive memory resources. (CVE-2017-8353)
    
      - A denial of service vulnerability exists in the
        ReadBMPImage() function within file coders/bmp.c when
        parsing BMP images. An unauthenticated, remote attacker
        can exploit this, via a specially crafted file, to
        consume excessive memory resources. (CVE-2017-8354)
    
      - A denial of service vulnerability exists in the
        ReadMTVImage() function within file coders/mtv.c when
        parsing MTV images. An unauthenticated, remote attacker
        can exploit this, via a specially crafted file, to
        consume excessive memory resources. (CVE-2017-8355)
    
      - A denial of service vulnerability exists in the
        ReadSUNImage() function within file coders/sun.c when
        parsing SUN images. An unauthenticated, remote attacker
        can exploit this, via a specially crafted file, to
        consume excessive memory resources. (CVE-2017-8356)
    
      - A denial of service vulnerability exists in the
        ReadEPTImage() function within file coders/ept.c when
        parsing EPT images. An unauthenticated, remote attacker
        can exploit this, via a specially crafted file, to
        consume excessive memory resources. (CVE-2017-8357)
    
      - A denial of service vulnerability exists in the
        ReadICONImage() function within file coders/icon.c when
        parsing ICON files. An unauthenticated, remote attacker
        can exploit this, via a specially crafted file, to
        consume excessive memory resources. (CVE-2017-8765)
    
      - A denial of service vulnerability exists in the
        ReadBMPImage() function within file bmp.c when handling
        a specially crafted file. An unauthenticated, remote
        attacker can exploit this to consume excessive memory
        resources. (CVE-2017-8830)
    
      - An out-of-bounds read error exists in the ReadRLEImage()
        function within file coders/rle.c when handling image
        color maps due to a missing initialization step. An
        unauthenticated, remote attacker can exploit this to
        disclose process memory contents. (CVE-2017-9098)
    
      - A denial of service vulnerability exists in the
        ReadDDSImage() function within file coders/dds.c when
        handling DDS images due to improper validation of
        user-supplied input. An unauthenticated, remote attacker
        can exploit this to trigger an assertion failure.
        (CVE-2017-9141)
    
      - A denial of service vulnerability exists in the
        ReadOneJNGImage() function within file coders/png.c when
        handling JNG images due to improper validation of
        user-supplied input. An unauthenticated, remote attacker
        can exploit this to trigger an assertion failure.
        (CVE-2017-9142)
    
      - A denial of service vulnerability exists in the
        ReadARTImage() function within file coders/art.c when
        handling specially crafted ART files. An
        unauthenticated, remote attacker can exploit this to
        consume excessive memory resources. (CVE-2017-9143)
    
      - A flaw exists in the ReadRLEImage() function within file
        coders/rle.c when reading run-length encoded image data.
        An unauthenticated, remote attacker can exploit this,
        via specially crafted image files, to cause a denial of
        service condition. (CVE-2017-9144)
    
      - A denial of service vulnerability exists in the
        ReadOneMNGImage() function within file coders/png.c when
        handling specially crafted MNG files. An
        unauthenticated, remote attacker can exploit this to
        consume excessive memory resources. (CVE-2017-9261)
    
      - A denial of service vulnerability exists in the
        ReadOneJNGImage() function within file coders/png.c when
        handling specially crafted JNG files. An
        unauthenticated, remote attacker can exploit this to
        consume excessive memory resources. (CVE-2017-9262)
    
      - A denial of service vulnerability exists in the
        ReadICONImage() function within file coders/icon.c when
        handling specially crafted ICO files. An
        unauthenticated, remote attacker can exploit this to
        consume excessive memory resources. (CVE-2017-9405)
    
      - A denial of service vulnerability exists in the
        ReadPALMImage() function within file coders/palm.c when
        handling specially crafted PALM files. An
        unauthenticated, remote attacker can exploit this to
        consume excessive memory resources. (CVE-2017-9407)
    
      - A denial of service vulnerability exists in the
        ReadMPCImage() function within file coders/mpc.c when
        handling specially crafted MPC files. An
        unauthenticated, remote attacker can exploit this to
        consume excessive memory resources. (CVE-2017-9409)
    
      - A denial of service vulnerability exists in the
        ReadPDBImage() function within file coders/pdb.c when
        handling specially crafted PDB files. An
        unauthenticated, remote attacker can exploit this to
        consume excessive memory resources. (CVE-2017-9439)
    
      - A denial of service vulnerability exists in the
        ReadPSDChannelZip() function within file coders/psd.c
        when handling specially crafted PSD files. An
        unauthenticated, remote attacker can exploit this to
        consume excessive memory resources. (CVE-2017-9440)
    
      - A denial of service vulnerability exists in the
        ResetImageProfileIterator() function within file 
        coders/dds.c when handling specially crafted DDS images.
        An unauthenticated, remote attacker can exploit this to
        consume excessive memory resources. (CVE-2017-9500)
    
      - A denial of service vulnerability exists in the
        ReadTGAImage() function within file coders/tga.c when
        handling specially crafted VST files. An
        unauthenticated, remote attacker can exploit this to
        consume excessive memory resources.
    
      - A denial of service vulnerability exists in the
        RestoreMSCWarning() function within file coders/mat.c
        when handling specially crafted MAT files. An
        unauthenticated, remote attacker can exploit this to
        consume excessive memory resources.
    
      - A denial of service vulnerability exists in the
        ReadXWDImage() function within file coders/xwd.c
        when handling specially crafted XWD files. An
        unauthenticated, remote attacker can exploit this to
        consume excessive memory resources.
    
      - A flaw exists in the ReadDCMImage() function within file
        coders/dcm.c when handling DCM image color maps. An
        unauthenticated, remote attacker can exploit this, via
        a specially crafted image, to cause a denial of service
        condition.");
      script_set_attribute(attribute:"see_also", value:"https://seclists.org/bugtraq/2017/May/63");
      script_set_attribute(attribute:"see_also", value:"https://www.debian.org/security/2017/dsa-3863");
      script_set_attribute(attribute:"see_also", value:"https://usn.ubuntu.com/3302-1/");
      script_set_attribute(attribute:"solution", value:
    "Upgrade to ImageMagick version 6.9.8-10 / 7.0.5-9 or later. Note that
    you may also need to manually uninstall the vulnerable version from
    the system.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2017-9098");
    
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"false");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2016/03/21");
      script_set_attribute(attribute:"patch_publication_date", value:"2017/05/29");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/06/16");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:imagemagick:imagemagick");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Windows");
    
      script_copyright(english:"This script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("imagemagick_installed.nasl");
      script_require_keys("installed_sw/ImageMagick", "installed_sw/ImageMagick/vcf_version");
    
      exit(0);
    }
    
    include('vcf.inc');
    include('vcf_extras.inc');
    
    vcf::imagemagick::initialize();
    app_info = vcf::imagemagick::get_app_info();
    
    constraints = [
      {'min_version' : '6.0.0-0' , 'fixed_version' : '6.9.8-10'},
      {'min_version' : '7.0.0-0' , 'fixed_version' : '7.0.5-9'}
    ];
    vcf::check_version_and_report(app_info:app_info, constraints:constraints, severity:SECURITY_WARNING);
    
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DSA-3914.NASL
    descriptionThis updates fixes several vulnerabilities in imagemagick: Various memory handling problems and cases of missing or incomplete input sanitising may result in denial of service, memory disclosure or the execution of arbitrary code if malformed RLE, SVG, PSD, PDB, DPX, MAT, TGA, VST, CIN, DIB, MPC, EPT, JNG, DJVU, JPEG, ICO, PALM or MNG files are processed.
    last seen2020-06-01
    modified2020-06-02
    plugin id101794
    published2017-07-19
    reporterThis script is Copyright (C) 2017-2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/101794
    titleDebian DSA-3914-1 : imagemagick - security update
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2017-971.NASL
    descriptionThis update for ImageMagick fixes the following issues : Security issues fixed : - CVE-2017-9439: A memory leak was found in the function ReadPDBImage incoders/pdb.c (bsc#1042826) - CVE-2017-9440: A memory leak was found in the function ReadPSDChannelin coders/psd.c (bsc#1042812) - CVE-2017-9501: An assertion failure could cause a denial of service via a crafted file (bsc#1043289) - CVE-2017-11403: ReadMNGImage function in coders/png.c has an out-of-order CloseBlob call, resulting in a use-after-free via acrafted file (bsc#1049072) This update was imported from the SUSE:SLE-12:Update update project.
    last seen2020-06-05
    modified2017-08-29
    plugin id102809
    published2017-08-29
    reporterThis script is Copyright (C) 2017-2020 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/102809
    titleopenSUSE Security Update : ImageMagick (openSUSE-2017-971)
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2017-2199-1.NASL
    descriptionThis update for ImageMagick fixes the following issues: Security issues fixed : - CVE-2017-9439: A memory leak was found in the function ReadPDBImage incoders/pdb.c (bsc#1042826) - CVE-2017-9440: A memory leak was found in the function ReadPSDChannelin coders/psd.c (bsc#1042812) - CVE-2017-9501: An assertion failure could cause a denial of service via a crafted file (bsc#1043289) - CVE-2017-11403: ReadMNGImage function in coders/png.c has an out-of-order CloseBlob call, resulting in a use-after-free via acrafted file (bsc#1049072) Note that Tenable Network Security has extracted the preceding description block directly from the SUSE security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id102577
    published2017-08-18
    reporterThis script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/102577
    titleSUSE SLED12 / SLES12 Security Update : ImageMagick (SUSE-SU-2017:2199-1)
  • NASL familyUbuntu Local Security Checks
    NASL idUBUNTU_USN-3363-1.NASL
    descriptionIt was discovered that ImageMagick incorrectly handled certain malformed image files. If a user or automated system using ImageMagick were tricked into opening a specially crafted image, an attacker could exploit this to cause a denial of service or possibly execute code with the privileges of the user invoking the program. Note that Tenable Network Security has extracted the preceding description block directly from the Ubuntu security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id101950
    published2017-07-25
    reporterUbuntu Security Notice (C) 2017-2019 Canonical, Inc. / NASL script (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/101950
    titleUbuntu 14.04 LTS / 16.04 LTS / 17.04 : imagemagick vulnerabilities (USN-3363-1)