This update for openjpeg2 fixes several issues. These security issues were fixed :
CVE-2016-10507: Integer overflow vulnerability in the bmp24toimage function allowed remote attackers to cause a denial of service (heap-based buffer over-read and application crash) via a crafted bmp file (bsc#1056421).
CVE-2017-14039: A heap-based buffer overflow was discovered in the opj_t2_encode_packet function. The vulnerability caused an out-of-bounds write, which may have lead to remote denial of service or possibly unspecified other impact (bsc#1056622).
CVE-2017-14164: A size-validation issue was discovered in opj_j2k_write_sot. The vulnerability caused an out-of-bounds write, which may have lead to remote DoS or possibly remote code execution (bsc#1057511).
CVE-2017-14040: An invalid write access was discovered in bin/jp2/convert.c, triggering a crash in the tgatoimage function. The vulnerability may have lead to remote denial of service or possibly unspecified other impact (bsc#1056621).
CVE-2017-14041: A stack-based buffer overflow was discovered in the pgxtoimage function. The vulnerability caused an out-of-bounds write, which may have lead to remote denial of service or possibly remote code execution (bsc#1056562).
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.
#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from SUSE update advisory SUSE-SU-2017:2649-1.
# The text itself is copyright (C) SUSE.
#
include('deprecated_nasl_level.inc');
include('compat.inc');
if (description)
{
script_id(103689);
script_version("2.8");
script_set_attribute(attribute:"plugin_modification_date", value:"2021/01/06");
script_cve_id("CVE-2016-10507", "CVE-2017-14039", "CVE-2017-14040", "CVE-2017-14041", "CVE-2017-14164");
script_name(english:"SUSE SLED12 / SLES12 Security Update : openjpeg2 (SUSE-SU-2017:2649-1)");
script_summary(english:"Checks rpm output for the updated packages.");
script_set_attribute(
attribute:"synopsis",
value:"The remote SUSE host is missing one or more security updates."
);
script_set_attribute(
attribute:"description",
value:
"This update for openjpeg2 fixes several issues. These security issues
were fixed :
- CVE-2016-10507: Integer overflow vulnerability in the
bmp24toimage function allowed remote attackers to cause
a denial of service (heap-based buffer over-read and
application crash) via a crafted bmp file (bsc#1056421).
- CVE-2017-14039: A heap-based buffer overflow was
discovered in the opj_t2_encode_packet function. The
vulnerability caused an out-of-bounds write, which may
have lead to remote denial of service or possibly
unspecified other impact (bsc#1056622).
- CVE-2017-14164: A size-validation issue was discovered
in opj_j2k_write_sot. The vulnerability caused an
out-of-bounds write, which may have lead to remote DoS
or possibly remote code execution (bsc#1057511).
- CVE-2017-14040: An invalid write access was discovered
in bin/jp2/convert.c, triggering a crash in the
tgatoimage function. The vulnerability may have lead to
remote denial of service or possibly unspecified other
impact (bsc#1056621).
- CVE-2017-14041: A stack-based buffer overflow was
discovered in the pgxtoimage function. The vulnerability
caused an out-of-bounds write, which may have lead to
remote denial of service or possibly remote code
execution (bsc#1056562).
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."
);
script_set_attribute(
attribute:"see_also",
value:"https://bugzilla.suse.com/show_bug.cgi?id=1056421"
);
script_set_attribute(
attribute:"see_also",
value:"https://bugzilla.suse.com/show_bug.cgi?id=1056562"
);
script_set_attribute(
attribute:"see_also",
value:"https://bugzilla.suse.com/show_bug.cgi?id=1056621"
);
script_set_attribute(
attribute:"see_also",
value:"https://bugzilla.suse.com/show_bug.cgi?id=1056622"
);
script_set_attribute(
attribute:"see_also",
value:"https://bugzilla.suse.com/show_bug.cgi?id=1057511"
);
script_set_attribute(
attribute:"see_also",
value:"https://www.suse.com/security/cve/CVE-2016-10507/"
);
script_set_attribute(
attribute:"see_also",
value:"https://www.suse.com/security/cve/CVE-2017-14039/"
);
script_set_attribute(
attribute:"see_also",
value:"https://www.suse.com/security/cve/CVE-2017-14040/"
);
script_set_attribute(
attribute:"see_also",
value:"https://www.suse.com/security/cve/CVE-2017-14041/"
);
script_set_attribute(
attribute:"see_also",
value:"https://www.suse.com/security/cve/CVE-2017-14164/"
);
# https://www.suse.com/support/update/announcement/2017/suse-su-20172649-1/
script_set_attribute(
attribute:"see_also",
value:"http://www.nessus.org/u?4bbf57d4"
);
script_set_attribute(
attribute:"solution",
value:
"To install this SUSE Security Update use YaST online_update.
Alternatively you can run the command listed for your product :
SUSE Linux Enterprise Server for Raspberry Pi 12-SP2:zypper in -t
patch SUSE-SLE-RPI-12-SP2-2017-1636=1
SUSE Linux Enterprise Server 12-SP3:zypper in -t patch
SUSE-SLE-SERVER-12-SP3-2017-1636=1
SUSE Linux Enterprise Server 12-SP2:zypper in -t patch
SUSE-SLE-SERVER-12-SP2-2017-1636=1
SUSE Linux Enterprise Desktop 12-SP3:zypper in -t patch
SUSE-SLE-DESKTOP-12-SP3-2017-1636=1
SUSE Linux Enterprise Desktop 12-SP2:zypper in -t patch
SUSE-SLE-DESKTOP-12-SP2-2017-1636=1
To bring your system up-to-date, use 'zypper patch'."
);
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:"exploit_available", value:"false");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:libopenjp2");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:libopenjp2-7-debuginfo");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:openjpeg2-debuginfo");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:openjpeg2-debugsource");
script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:12");
script_set_attribute(attribute:"vuln_publication_date", value:"2017/08/30");
script_set_attribute(attribute:"patch_publication_date", value:"2017/10/04");
script_set_attribute(attribute:"plugin_publication_date", value:"2017/10/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) 2017-2021 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/cpu", "Host/SuSE/release", "Host/SuSE/rpm-list");
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, "SUSE");
os_ver = pregmatch(pattern: "^(SLE(S|D)\d+)", string:release);
if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "SUSE");
os_ver = os_ver[1];
if (! preg(pattern:"^(SLED12|SLES12)$", string:os_ver)) audit(AUDIT_OS_NOT, "SUSE SLED12 / SLES12", "SUSE " + os_ver);
if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
cpu = get_kb_item("Host/cpu");
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if (cpu !~ "^i[3-6]86$" && "x86_64" >!< cpu && "s390x" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "SUSE " + os_ver, cpu);
sp = get_kb_item("Host/SuSE/patchlevel");
if (isnull(sp)) sp = "0";
if (os_ver == "SLES12" && (! preg(pattern:"^(2|3)$", string:sp))) audit(AUDIT_OS_NOT, "SLES12 SP2/3", os_ver + " SP" + sp);
if (os_ver == "SLED12" && (! preg(pattern:"^(2|3)$", string:sp))) audit(AUDIT_OS_NOT, "SLED12 SP2/3", os_ver + " SP" + sp);
flag = 0;
if (rpm_check(release:"SLES12", sp:"3", reference:"libopenjp2-7-2.1.0-4.6.1")) flag++;
if (rpm_check(release:"SLES12", sp:"3", reference:"libopenjp2-7-debuginfo-2.1.0-4.6.1")) flag++;
if (rpm_check(release:"SLES12", sp:"3", reference:"openjpeg2-debuginfo-2.1.0-4.6.1")) flag++;
if (rpm_check(release:"SLES12", sp:"3", reference:"openjpeg2-debugsource-2.1.0-4.6.1")) flag++;
if (rpm_check(release:"SLES12", sp:"2", reference:"libopenjp2-7-2.1.0-4.6.1")) flag++;
if (rpm_check(release:"SLES12", sp:"2", reference:"libopenjp2-7-debuginfo-2.1.0-4.6.1")) flag++;
if (rpm_check(release:"SLES12", sp:"2", reference:"openjpeg2-debuginfo-2.1.0-4.6.1")) flag++;
if (rpm_check(release:"SLES12", sp:"2", reference:"openjpeg2-debugsource-2.1.0-4.6.1")) flag++;
if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"libopenjp2-7-2.1.0-4.6.1")) flag++;
if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"libopenjp2-7-debuginfo-2.1.0-4.6.1")) flag++;
if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"openjpeg2-debuginfo-2.1.0-4.6.1")) flag++;
if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"openjpeg2-debugsource-2.1.0-4.6.1")) flag++;
if (rpm_check(release:"SLED12", sp:"2", cpu:"x86_64", reference:"libopenjp2-7-2.1.0-4.6.1")) flag++;
if (rpm_check(release:"SLED12", sp:"2", cpu:"x86_64", reference:"libopenjp2-7-debuginfo-2.1.0-4.6.1")) flag++;
if (rpm_check(release:"SLED12", sp:"2", cpu:"x86_64", reference:"openjpeg2-debuginfo-2.1.0-4.6.1")) flag++;
if (rpm_check(release:"SLED12", sp:"2", cpu:"x86_64", reference:"openjpeg2-debugsource-2.1.0-4.6.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, "openjpeg2");
}
Vendor | Product | Version | CPE |
---|---|---|---|
novell | suse_linux | libopenjp2 | p-cpe:/a:novell:suse_linux:libopenjp2 |
novell | suse_linux | libopenjp2-7-debuginfo | p-cpe:/a:novell:suse_linux:libopenjp2-7-debuginfo |
novell | suse_linux | openjpeg2-debuginfo | p-cpe:/a:novell:suse_linux:openjpeg2-debuginfo |
novell | suse_linux | openjpeg2-debugsource | p-cpe:/a:novell:suse_linux:openjpeg2-debugsource |
novell | suse_linux | 12 | cpe:/o:novell:suse_linux:12 |
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10507
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14039
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14040
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14041
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14164
www.nessus.org/u?4bbf57d4
bugzilla.suse.com/show_bug.cgi?id=1056421
bugzilla.suse.com/show_bug.cgi?id=1056562
bugzilla.suse.com/show_bug.cgi?id=1056621
bugzilla.suse.com/show_bug.cgi?id=1056622
bugzilla.suse.com/show_bug.cgi?id=1057511
www.suse.com/security/cve/CVE-2016-10507/
www.suse.com/security/cve/CVE-2017-14039/
www.suse.com/security/cve/CVE-2017-14040/
www.suse.com/security/cve/CVE-2017-14041/
www.suse.com/security/cve/CVE-2017-14164/