Vulnerabilities > CVE-2019-5060 - Integer Overflow or Wraparound vulnerability in multiple products

047910
CVSS 8.8 - HIGH
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
HIGH
Integrity impact
HIGH
Availability impact
HIGH
network
low complexity
libsdl
opensuse
CWE-190
nessus

Summary

An exploitable code execution vulnerability exists in the XPM image rendering function of SDL2_image 2.0.4. A specially crafted XPM image can cause an integer overflow in the colorhash function, allocating too small of a buffer. This buffer can then be written out of bounds, resulting in a heap overflow, ultimately ending in code execution. An attacker can display a specially crafted image to trigger this vulnerability.

Vulnerable Configurations

Part Description Count
Application
Libsdl
1
Application
Opensuse
2
OS
Opensuse
2

Common Weakness Enumeration (CWE)

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Forced Integer Overflow
    This attack forces an integer variable to go out of range. The integer variable is often used as an offset such as size of memory allocation or similarly. The attacker would typically control the value of such variable and try to get it out of range. For instance the integer in question is incremented past the maximum possible value, it may wrap to become a very small, or negative number, therefore providing a very incorrect value which can lead to unexpected behavior. At worst the attacker can execute arbitrary code.

Nessus

  • NASL familyFreeBSD Local Security Checks
    NASL idFREEBSD_PKG_3394BC2B9DA411E9951E14DAE9D5A9D2.NASL
    descriptionSDL_image developers report : Fixed a number of security issues : - TALOS-2019-0820 - TALOS-2019-0821 - TALOS-2019-0841 - TALOS-2019-0842 - TALOS-2019-0843 - TALOS-2019-0844
    last seen2020-06-01
    modified2020-06-02
    plugin id126484
    published2019-07-05
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/126484
    titleFreeBSD : SDL2_image -- multiple vulnerabilities (3394bc2b-9da4-11e9-951e-14dae9d5a9d2)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from the FreeBSD VuXML database :
    #
    # Copyright 2003-2020 Jacques Vidrine and contributors
    #
    # Redistribution and use in source (VuXML) and 'compiled' forms (SGML,
    # HTML, PDF, PostScript, RTF and so forth) with or without modification,
    # are permitted provided that the following conditions are met:
    # 1. Redistributions of source code (VuXML) must retain the above
    #    copyright notice, this list of conditions and the following
    #    disclaimer as the first lines of this file unmodified.
    # 2. Redistributions in compiled form (transformed to other DTDs,
    #    published online in any format, converted to PDF, PostScript,
    #    RTF and other formats) must reproduce the above copyright
    #    notice, this list of conditions and the following disclaimer
    #    in the documentation and/or other materials provided with the
    #    distribution.
    # 
    # THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
    # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
    # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
    # OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
    # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
    # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION,
    # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(126484);
      script_version("1.4");
      script_cvs_date("Date: 2020/01/08");
    
      script_cve_id("CVE-2019-5051", "CVE-2019-5052", "CVE-2019-5057", "CVE-2019-5058", "CVE-2019-5059", "CVE-2019-5060");
    
      script_name(english:"FreeBSD : SDL2_image -- multiple vulnerabilities (3394bc2b-9da4-11e9-951e-14dae9d5a9d2)");
      script_summary(english:"Checks for updated package in pkg_info output");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote FreeBSD host is missing a security-related update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "SDL_image developers report :
    
    Fixed a number of security issues :
    
    - TALOS-2019-0820
    
    - TALOS-2019-0821
    
    - TALOS-2019-0841
    
    - TALOS-2019-0842
    
    - TALOS-2019-0843
    
    - TALOS-2019-0844"
      );
      # https://www.talosintelligence.com/vulnerability_reports/TALOS-2019-0820
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?b03ec732"
      );
      # https://www.talosintelligence.com/vulnerability_reports/TALOS-2019-0821
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?128d9db7"
      );
      # https://www.talosintelligence.com/vulnerability_reports/TALOS-2019-0841
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?840322c1"
      );
      # https://www.talosintelligence.com/vulnerability_reports/TALOS-2019-0842
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?3e3fa83d"
      );
      # https://www.talosintelligence.com/vulnerability_reports/TALOS-2019-0843
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?2988b308"
      );
      # https://www.talosintelligence.com/vulnerability_reports/TALOS-2019-0844
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?01132686"
      );
      # https://vuxml.freebsd.org/freebsd/3394bc2b-9da4-11e9-951e-14dae9d5a9d2.html
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?6f5ff660"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected package.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
      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:R/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:sdl2_image");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:freebsd:freebsd");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2019/07/02");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/07/03");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/07/05");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"FreeBSD Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/FreeBSD/release", "Host/FreeBSD/pkg_info");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("freebsd_package.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/FreeBSD/release")) audit(AUDIT_OS_NOT, "FreeBSD");
    if (!get_kb_item("Host/FreeBSD/pkg_info")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    
    if (pkg_test(save_report:TRUE, pkg:"sdl2_image<2.0.5")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:pkg_report_get());
      else security_warning(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2019-2070.NASL
    descriptionThis update for SDL2_image fixes the following issues : Update to new upstream release 2.0.5. Security issues fixed : - TALOS-2019-0820 CVE-2019-5051: exploitable heap-based buffer overflow vulnerability when loading a PCX file (boo#1140419) - TALOS-2019-0821 CVE-2019-5052: exploitable integer overflow vulnerability when loading a PCX file (boo#1140421) - TALOS-2019-0841 CVE-2019-5057: code execution vulnerability in the PCX image-rendering functionality of SDL2_image (boo#1143763) - TALOS-2019-0842 CVE-2019-5058: heap overflow in XCF image rendering can lead to code execution (boo#1143764) - TALOS-2019-0843 CVE-2019-5059: heap overflow in XPM image (boo#1143766) - TALOS-2019-0844 CVE-2019-5060: integer overflow in the XPM image (boo#1143768) Not mentioned by upstream, but issues seemingly further fixed : - CVE-2019-12218: NULL pointer dereference in the SDL2_image function IMG_LoadPCX_RW (boo#1135789) - CVE-2019-12217: NULL pointer dereference in the SDL stdio_read function (boo#1135787) - CVE-2019-12220: SDL_image triggers an out-of-bounds read in the SDL function SDL_FreePalette_REAL (boo#1135806) - CVE-2019-12221: a SEGV caused by SDL_image in SDL function SDL_free_REAL in stdlib/SDL_malloc.c (boo#1135796) - CVE-2019-12222: out-of-bounds read triggered by SDL_image in the function SDL_InvalidateMap at video/SDL_pixels.c (boo#1136101) - CVE-2019-13616: fix heap buffer overflow when reading a crafted bmp file (boo#1141844).
    last seen2020-06-01
    modified2020-06-02
    plugin id128539
    published2019-09-06
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/128539
    titleopenSUSE Security Update : SDL2_image (openSUSE-2019-2070)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from openSUSE Security Update openSUSE-2019-2070.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(128539);
      script_version("1.2");
      script_cvs_date("Date: 2019/12/31");
    
      script_cve_id("CVE-2019-12217", "CVE-2019-12218", "CVE-2019-12220", "CVE-2019-12221", "CVE-2019-12222", "CVE-2019-13616", "CVE-2019-5051", "CVE-2019-5052", "CVE-2019-5057", "CVE-2019-5058", "CVE-2019-5059", "CVE-2019-5060");
    
      script_name(english:"openSUSE Security Update : SDL2_image (openSUSE-2019-2070)");
      script_summary(english:"Check for the openSUSE-2019-2070 patch");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote openSUSE host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "This update for SDL2_image fixes the following issues :
    
    Update to new upstream release 2.0.5.
    
    Security issues fixed :
    
      - TALOS-2019-0820 CVE-2019-5051: exploitable heap-based
        buffer overflow vulnerability when loading a PCX file
        (boo#1140419)
    
      - TALOS-2019-0821 CVE-2019-5052: exploitable integer
        overflow vulnerability when loading a PCX file
        (boo#1140421)
    
      - TALOS-2019-0841 CVE-2019-5057: code execution
        vulnerability in the PCX image-rendering functionality
        of SDL2_image (boo#1143763)
    
      - TALOS-2019-0842 CVE-2019-5058: heap overflow in XCF
        image rendering can lead to code execution (boo#1143764)
    
      - TALOS-2019-0843 CVE-2019-5059: heap overflow in XPM
        image (boo#1143766)
    
      - TALOS-2019-0844 CVE-2019-5060: integer overflow in the
        XPM image (boo#1143768)
    
    Not mentioned by upstream, but issues seemingly further fixed :
    
      - CVE-2019-12218: NULL pointer dereference in the
        SDL2_image function IMG_LoadPCX_RW (boo#1135789)
    
      - CVE-2019-12217: NULL pointer dereference in the SDL
        stdio_read function (boo#1135787)
    
      - CVE-2019-12220: SDL_image triggers an out-of-bounds read
        in the SDL function SDL_FreePalette_REAL (boo#1135806)
    
      - CVE-2019-12221: a SEGV caused by SDL_image in SDL
        function SDL_free_REAL in stdlib/SDL_malloc.c
        (boo#1135796)
    
      - CVE-2019-12222: out-of-bounds read triggered by
        SDL_image in the function SDL_InvalidateMap at
        video/SDL_pixels.c (boo#1136101)
    
      - CVE-2019-13616: fix heap buffer overflow when reading a
        crafted bmp file (boo#1141844)."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1135787"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1135789"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1135796"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1135806"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1136101"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1140419"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1140421"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1141844"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1143763"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1143764"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1143766"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1143768"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected SDL2_image packages."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
      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:R/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:SDL2_image-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libSDL2_image-2_0-0");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libSDL2_image-2_0-0-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libSDL2_image-2_0-0-32bit-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libSDL2_image-2_0-0-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libSDL2_image-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libSDL2_image-devel-32bit");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:15.0");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:15.1");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2019/05/20");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/09/05");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/09/06");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"SuSE Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/SuSE/release", "Host/SuSE/rpm-list", "Host/cpu");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/SuSE/release");
    if (isnull(release) || release =~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, "openSUSE");
    if (release !~ "^(SUSE15\.0|SUSE15\.1)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "15.0 / 15.1", release);
    if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    ourarch = get_kb_item("Host/cpu");
    if (!ourarch) audit(AUDIT_UNKNOWN_ARCH);
    if (ourarch !~ "^(i586|i686|x86_64)$") audit(AUDIT_ARCH_NOT, "i586 / i686 / x86_64", ourarch);
    
    flag = 0;
    
    if ( rpm_check(release:"SUSE15.0", reference:"SDL2_image-debugsource-2.0.5-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"libSDL2_image-2_0-0-2.0.5-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"libSDL2_image-2_0-0-debuginfo-2.0.5-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"libSDL2_image-devel-2.0.5-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", cpu:"x86_64", reference:"libSDL2_image-2_0-0-32bit-2.0.5-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", cpu:"x86_64", reference:"libSDL2_image-2_0-0-32bit-debuginfo-2.0.5-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", cpu:"x86_64", reference:"libSDL2_image-devel-32bit-2.0.5-lp150.9.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"SDL2_image-debugsource-2.0.5-lp151.2.5.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"libSDL2_image-2_0-0-2.0.5-lp151.2.5.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"libSDL2_image-2_0-0-debuginfo-2.0.5-lp151.2.5.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"libSDL2_image-devel-2.0.5-lp151.2.5.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"libSDL2_image-2_0-0-32bit-2.0.5-lp151.2.5.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"libSDL2_image-2_0-0-32bit-debuginfo-2.0.5-lp151.2.5.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"libSDL2_image-devel-32bit-2.0.5-lp151.2.5.1") ) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
      else security_warning(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "SDL2_image-debugsource / libSDL2_image-2_0-0 / etc");
    }
    
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2019-2071.NASL
    descriptionThis update for SDL_image fixes the following issues : Update SDL_Image to new snapshot 1.2.12+hg695. Security issues fixed : - TALOS-2019-0821 CVE-2019-5052: exploitable integer overflow vulnerability when loading a PCX file (boo#1140421) - TALOS-2019-0841 CVE-2019-5057: code execution vulnerability in the PCX image-rendering functionality of SDL2_image (boo#1143763) - TALOS-2019-0842 CVE-2019-5058: heap overflow in XCF image rendering can lead to code execution (boo#1143764) - TALOS-2019-0843 CVE-2019-5059: heap overflow in XPM image handling (boo#1143766) - TALOS-2019-0844 CVE-2019-5060: integer overflow in the XPM image (boo#1143768) - CVE-2019-7635: heap-based buffer over-read in Blit1to4 in video/SDL_blit_1.c (boo#1124827) - CVE-2019-13616: fix heap buffer overflow when reading a crafted bmp file (boo#1141844).
    last seen2020-06-01
    modified2020-06-02
    plugin id128540
    published2019-09-06
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/128540
    titleopenSUSE Security Update : SDL_image (openSUSE-2019-2071)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from openSUSE Security Update openSUSE-2019-2071.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(128540);
      script_version("1.2");
      script_cvs_date("Date: 2019/12/31");
    
      script_cve_id("CVE-2019-13616", "CVE-2019-5052", "CVE-2019-5057", "CVE-2019-5058", "CVE-2019-5059", "CVE-2019-5060", "CVE-2019-7635");
    
      script_name(english:"openSUSE Security Update : SDL_image (openSUSE-2019-2071)");
      script_summary(english:"Check for the openSUSE-2019-2071 patch");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote openSUSE host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "This update for SDL_image fixes the following issues :
    
    Update SDL_Image to new snapshot 1.2.12+hg695.
    
    Security issues fixed :
    
      - TALOS-2019-0821 CVE-2019-5052: exploitable integer
        overflow vulnerability when loading a PCX file
        (boo#1140421)
    
      - TALOS-2019-0841 CVE-2019-5057: code execution
        vulnerability in the PCX image-rendering functionality
        of SDL2_image (boo#1143763)
    
      - TALOS-2019-0842 CVE-2019-5058: heap overflow in XCF
        image rendering can lead to code execution (boo#1143764)
    
      - TALOS-2019-0843 CVE-2019-5059: heap overflow in XPM
        image handling (boo#1143766)
    
      - TALOS-2019-0844 CVE-2019-5060: integer overflow in the
        XPM image (boo#1143768)
    
      - CVE-2019-7635: heap-based buffer over-read in Blit1to4
        in video/SDL_blit_1.c (boo#1124827)
    
      - CVE-2019-13616: fix heap buffer overflow when reading a
        crafted bmp file (boo#1141844)."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1124827"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1140421"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1141844"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1143763"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1143764"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1143766"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1143768"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected SDL_image packages."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
      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:R/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:SDL_image-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libSDL_image-1_2-0");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libSDL_image-1_2-0-32bit");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libSDL_image-1_2-0-32bit-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libSDL_image-1_2-0-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libSDL_image-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libSDL_image-devel-32bit");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:15.0");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:15.1");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2019/02/08");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/09/05");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/09/06");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"SuSE Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/SuSE/release", "Host/SuSE/rpm-list", "Host/cpu");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/SuSE/release");
    if (isnull(release) || release =~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, "openSUSE");
    if (release !~ "^(SUSE15\.0|SUSE15\.1)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "15.0 / 15.1", release);
    if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    ourarch = get_kb_item("Host/cpu");
    if (!ourarch) audit(AUDIT_UNKNOWN_ARCH);
    if (ourarch !~ "^(i586|i686|x86_64)$") audit(AUDIT_ARCH_NOT, "i586 / i686 / x86_64", ourarch);
    
    flag = 0;
    
    if ( rpm_check(release:"SUSE15.0", reference:"SDL_image-debugsource-1.2.12+hg695-lp150.2.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"libSDL_image-1_2-0-1.2.12+hg695-lp150.2.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"libSDL_image-1_2-0-debuginfo-1.2.12+hg695-lp150.2.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", reference:"libSDL_image-devel-1.2.12+hg695-lp150.2.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", cpu:"x86_64", reference:"libSDL_image-1_2-0-32bit-1.2.12+hg695-lp150.2.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", cpu:"x86_64", reference:"libSDL_image-1_2-0-32bit-debuginfo-1.2.12+hg695-lp150.2.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.0", cpu:"x86_64", reference:"libSDL_image-devel-32bit-1.2.12+hg695-lp150.2.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"SDL_image-debugsource-1.2.12+hg695-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"libSDL_image-1_2-0-1.2.12+hg695-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"libSDL_image-1_2-0-debuginfo-1.2.12+hg695-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", reference:"libSDL_image-devel-1.2.12+hg695-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"libSDL_image-1_2-0-32bit-1.2.12+hg695-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"libSDL_image-1_2-0-32bit-debuginfo-1.2.12+hg695-lp151.3.3.1") ) flag++;
    if ( rpm_check(release:"SUSE15.1", cpu:"x86_64", reference:"libSDL_image-devel-32bit-1.2.12+hg695-lp151.3.3.1") ) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
      else security_warning(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "SDL_image-debugsource / libSDL_image-1_2-0 / etc");
    }
    

Talos

idTALOS-2019-0844
last seen2019-08-07
published2019-07-29
reporterTalos Intelligence
sourcehttp://www.talosintelligence.com/vulnerability_reports/TALOS-2019-0844
titleSDL_image XPM image colorhash parsing Code Execution Vulnerability