Vulnerabilities > CVE-2020-11742
Summary
An issue was discovered in Xen through 4.13.x, allowing guest OS users to cause a denial of service because of bad continuation handling in GNTTABOP_copy. Grant table operations are expected to return 0 for success, and a negative number for errors. The fix for CVE-2017-12135 introduced a path through grant copy handling where success may be returned to the caller without any action taken. In particular, the status fields of individual operations are left uninitialised, and may result in errant behaviour in the caller of GNTTABOP_copy. A buggy or malicious guest can construct its grant table in such a way that, when a backend domain tries to copy a grant, it hits the incorrect exit path. This returns success to the caller without doing anything, which may cause crashes or other incorrect behaviour.
Vulnerable Configurations
Nessus
NASL family SuSE Local Security Checks NASL id SUSE_SU-2020-1124-1.NASL description This update for xen fixes the following issues : Security issues fixed : CVE-2020-11742: Bad continuation handling in GNTTABOP_copy (bsc#1169392). CVE-2020-11740, CVE-2020-11741: xen: XSA-313 multiple xenoprof issues (bsc#1168140). CVE-2020-11739: Missing memory barriers in read-write unlock paths (bsc#1168142). CVE-2020-11743: Bad error path in GNTTABOP_map_grant (bsc#1168143). arm: a CPU may speculate past the ERET instruction (bsc#1160932). Non-security issues fixed : Xenstored Crashed during VM install (bsc#1167152) DomU hang: soft lockup CPU #0 stuck under high load (bsc#1165206, bsc#1134506) Update API compatibility versions, fixes issues for libvirt. (bsc#1167007, bsc#1157490) aacraid blocks xen commands (bsc#1155200) 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 seen 2020-06-04 modified 2020-04-29 plugin id 136076 published 2020-04-29 reporter This script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/136076 title SUSE SLED15 / SLES15 Security Update : xen (SUSE-SU-2020:1124-1) code # # (C) Tenable Network Security, Inc. # # The descriptive text and package checks in this plugin were # extracted from SUSE update advisory SUSE-SU-2020:1124-1. # The text itself is copyright (C) SUSE. # include("compat.inc"); if (description) { script_id(136076); script_version("1.6"); script_set_attribute(attribute:"plugin_modification_date", value:"2020/07/10"); script_cve_id("CVE-2020-11739", "CVE-2020-11740", "CVE-2020-11741", "CVE-2020-11742", "CVE-2020-11743"); script_xref(name:"IAVB", value:"2019-B-0091-S"); script_xref(name:"IAVB", value:"2020-B-0023-S"); script_name(english:"SUSE SLED15 / SLES15 Security Update : xen (SUSE-SU-2020:1124-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 xen fixes the following issues : Security issues fixed : CVE-2020-11742: Bad continuation handling in GNTTABOP_copy (bsc#1169392). CVE-2020-11740, CVE-2020-11741: xen: XSA-313 multiple xenoprof issues (bsc#1168140). CVE-2020-11739: Missing memory barriers in read-write unlock paths (bsc#1168142). CVE-2020-11743: Bad error path in GNTTABOP_map_grant (bsc#1168143). arm: a CPU may speculate past the ERET instruction (bsc#1160932). Non-security issues fixed : Xenstored Crashed during VM install (bsc#1167152) DomU hang: soft lockup CPU #0 stuck under high load (bsc#1165206, bsc#1134506) Update API compatibility versions, fixes issues for libvirt. (bsc#1167007, bsc#1157490) aacraid blocks xen commands (bsc#1155200) 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=1027519" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1134506" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1155200" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1157490" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1160932" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1165206" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1167007" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1167152" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1168140" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1168142" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1168143" ); script_set_attribute( attribute:"see_also", value:"https://bugzilla.suse.com/show_bug.cgi?id=1169392" ); script_set_attribute( attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2020-11739/" ); script_set_attribute( attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2020-11740/" ); script_set_attribute( attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2020-11741/" ); script_set_attribute( attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2020-11742/" ); script_set_attribute( attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2020-11743/" ); # https://www.suse.com/support/update/announcement/2020/suse-su-20201124-1/ script_set_attribute( attribute:"see_also", value:"http://www.nessus.org/u?bda4ce7e" ); script_set_attribute( attribute:"solution", value: "To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or 'zypper patch'. Alternatively you can run the command listed for your product : SUSE Linux Enterprise Module for Server Applications 15-SP1 : zypper in -t patch SUSE-SLE-Module-Server-Applications-15-SP1-2020-1124=1 SUSE Linux Enterprise Module for Open Buildservice Development Tools 15-SP1 : zypper in -t patch SUSE-SLE-Module-Development-Tools-OBS-15-SP1-2020-1124=1 SUSE Linux Enterprise Module for Basesystem 15-SP1 : zypper in -t patch SUSE-SLE-Module-Basesystem-15-SP1-2020-1124=1" ); script_set_cvss_base_vector("CVSS2#AV:L/AC:M/Au:N/C:C/I:C/A:C"); script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C"); script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"); script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C"); script_set_attribute(attribute:"cvss_score_source", value:"CVE-2020-11741"); 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:suse_linux:xen"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:xen-debugsource"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:xen-devel"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:xen-doc-html"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:xen-libs"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:xen-libs-32bit-debuginfo"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:xen-libs-debuginfo"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:xen-tools"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:xen-tools-debuginfo"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:xen-tools-domU"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:xen-tools-domU-debuginfo"); script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:15"); script_set_attribute(attribute:"vuln_publication_date", value:"2020/04/14"); script_set_attribute(attribute:"patch_publication_date", value:"2020/04/27"); script_set_attribute(attribute:"plugin_publication_date", value:"2020/04/29"); script_set_attribute(attribute:"stig_severity", value:"I"); script_set_attribute(attribute:"generated_plugin", value:"current"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 2020 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:"^(SLED15|SLES15)$", string:os_ver)) audit(AUDIT_OS_NOT, "SUSE SLED15 / SLES15", "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); if (cpu >!< "x86_64") audit(AUDIT_ARCH_NOT, "x86_64", cpu); sp = get_kb_item("Host/SuSE/patchlevel"); if (isnull(sp)) sp = "0"; if (os_ver == "SLES15" && (! preg(pattern:"^(1)$", string:sp))) audit(AUDIT_OS_NOT, "SLES15 SP1", os_ver + " SP" + sp); if (os_ver == "SLED15" && (! preg(pattern:"^(1)$", string:sp))) audit(AUDIT_OS_NOT, "SLED15 SP1", os_ver + " SP" + sp); flag = 0; if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"xen-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"xen-debugsource-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"xen-devel-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"xen-tools-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"xen-tools-debuginfo-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"xen-debugsource-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"xen-doc-html-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"xen-libs-32bit-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"xen-libs-32bit-debuginfo-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"xen-debugsource-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"xen-libs-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"xen-libs-debuginfo-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"xen-tools-domU-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLES15", sp:"1", cpu:"x86_64", reference:"xen-tools-domU-debuginfo-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"xen-debugsource-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"xen-doc-html-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"xen-libs-32bit-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"xen-libs-32bit-debuginfo-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"xen-debugsource-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"xen-libs-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"xen-libs-debuginfo-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"xen-tools-domU-4.12.2_04-3.15.1")) flag++; if (rpm_check(release:"SLED15", sp:"1", cpu:"x86_64", reference:"xen-tools-domU-debuginfo-4.12.2_04-3.15.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, "xen"); }
NASL family Fedora Local Security Checks NASL id FEDORA_2020-CBC3149753.NASL description update to 4.11.4 ---- multiple xenoprof issues [XSA-313, CVE-2020-11740, CVE-2020-11741] (#1823912, #1823914) Missing memory barriers in read-write unlock paths [XSA-314, CVE-2020-11739] (#1823784) Bad error path in GNTTABOP_map_grant [XSA-316, CVE-2020-11743] (#1823926) Bad continuation handling in GNTTABOP_copy [XSA-318, CVE-2020-11742] (#1823943) Note that Tenable Network Security has extracted the preceding description block directly from the Fedora update system website. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues. last seen 2020-06-04 modified 2020-05-11 plugin id 136438 published 2020-05-11 reporter This script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/136438 title Fedora 30 : xen (2020-cbc3149753) NASL family SuSE Local Security Checks NASL id SUSE_SU-2020-1139-1.NASL description This update for xen to version 4.12.2 fixes the following issues : Security issues fixed : CVE-2020-11742: Bad continuation handling in GNTTABOP_copy (bsc#1169392). CVE-2020-11740, CVE-2020-11741: xen: XSA-313 multiple xenoprof issues (bsc#1168140). CVE-2020-11739: Missing memory barriers in read-write unlock paths (bsc#1168142). CVE-2020-11743: Bad error path in GNTTABOP_map_grant (bsc#1168143). CVE-2020-7211: Fixed potential directory traversal using relative paths via tftp server on Windows host (bsc#1161181). arm: a CPU may speculate past the ERET instruction (bsc#1160932). Non-security issues fixed: Xenstored Crashed during VM install (bsc#1167152) DomU hang: soft lockup CPU #0 stuck under high load (bsc#1165206, bsc#1134506) Update API compatibility versions, fixes issues for libvirt. (bsc#1167007, bsc#1157490) aacraid blocks xen commands (bsc#1155200) Problems Booting Fedora31 VM on sles15 sp1 Xen Dom0 (bsc#1162040). 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 seen 2020-06-04 modified 2020-04-30 plugin id 136164 published 2020-04-30 reporter This script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/136164 title SUSE SLES12 Security Update : xen (SUSE-SU-2020:1139-1) NASL family Gentoo Local Security Checks NASL id GENTOO_GLSA-202005-08.NASL description The remote host is affected by the vulnerability described in GLSA-202005-08 (Xen: Multiple vulnerabilities) Multiple vulnerabilities have been discovered in Xen. Please review the CVE identifiers referenced below for details. Impact : Please review the referenced CVE identifiers for details. Workaround : There is no known workaround at this time. last seen 2020-06-04 modified 2020-05-15 plugin id 136638 published 2020-05-15 reporter This script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/136638 title GLSA-202005-08 : Xen: Multiple vulnerabilities NASL family SuSE Local Security Checks NASL id OPENSUSE-2020-599.NASL description This update for xen fixes the following issues : Security issues fixed : - CVE-2020-11742: Bad continuation handling in GNTTABOP_copy (bsc#1169392). - CVE-2020-11740, CVE-2020-11741: xen: XSA-313 multiple xenoprof issues (bsc#1168140). - CVE-2020-11739: Missing memory barriers in read-write unlock paths (bsc#1168142). - CVE-2020-11743: Bad error path in GNTTABOP_map_grant (bsc#1168143). - arm: a CPU may speculate past the ERET instruction (bsc#1160932). Non-security issues fixed : - Xenstored Crashed during VM install (bsc#1167152) - DomU hang: soft lockup CPU #0 stuck under high load (bsc#1165206, bsc#1134506) - Update API compatibility versions, fixes issues for libvirt. (bsc#1167007, bsc#1157490) - aacraid blocks xen commands (bsc#1155200) This update was imported from the SUSE:SLE-15-SP1:Update update project. last seen 2020-06-04 modified 2020-05-04 plugin id 136312 published 2020-05-04 reporter This script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/136312 title openSUSE Security Update : xen (openSUSE-2020-599) NASL family Misc. NASL id XEN_SERVER_XSA-318.NASL description According to its self-reported version number, the Xen hypervisor installed on the remote host is affected by a denial of service vulnerability in GNTTABOP_copy due to status fields of individual operations being left uninitialised. A buggy or malicious guest can construct its grant table in such a way that, when a backend domain tries to copy a grant, it hits the incorrect exit path. This returns success to the caller without doing anything, which may cause crashes or other incorrect behaviour. Note that Nessus has not tested for this issue but has instead relied only on the application last seen 2020-05-06 modified 2020-05-01 plugin id 136189 published 2020-05-01 reporter This script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/136189 title Xen Bad Continuation Handling in GNTTABOP_copy DoS (XSA-318) NASL family Fedora Local Security Checks NASL id FEDORA_2020-295ED0B1E0.NASL description multiple xenoprof issues [XSA-313, CVE-2020-11740, CVE-2020-11741] (#1823912, #1823914) Missing memory barriers in read-write unlock paths [XSA-314, CVE-2020-11739] (#1823784) Bad error path in GNTTABOP_map_grant [XSA-316, CVE-2020-11743] (#1823926) Bad continuation handling in GNTTABOP_copy [XSA-318, CVE-2020-11742] (#1823943) Note that Tenable Network Security has extracted the preceding description block directly from the Fedora update system website. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues. last seen 2020-06-04 modified 2020-05-01 plugin id 136210 published 2020-05-01 reporter This script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/136210 title Fedora 31 : xen (2020-295ed0b1e0) NASL family SuSE Local Security Checks NASL id SUSE_SU-2020-1138-1.NASL description This update for xen fixes the following issues : Security issues fixed : CVE-2020-11742: Bad continuation handling in GNTTABOP_copy (bsc#1169392). CVE-2020-11740, CVE-2020-11741: xen: XSA-313 multiple xenoprof issues (bsc#1168140). CVE-2020-11739: Missing memory barriers in read-write unlock paths (bsc#1168142). CVE-2020-11743: Bad error path in GNTTABOP_map_grant (bsc#1168143). CVE-2020-7211: Fixed potential directory traversal using relative paths via tftp server on Windows host (bsc#1161181). arm: a CPU may speculate past the ERET instruction (bsc#1160932). Non-security issues fixed: Xenstored Crashed during VM install (bsc#1167152) DomU hang: soft lockup CPU #0 stuck under high load (bsc#1165206, bsc#1134506) Update API compatibility versions, fixes issues for libvirt. (bsc#1167007, bsc#1157490) aacraid blocks xen commands (bsc#1155200) 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 seen 2020-06-04 modified 2020-04-30 plugin id 136163 published 2020-04-30 reporter This script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/136163 title SUSE SLES12 Security Update : xen (SUSE-SU-2020:1138-1)
References
- https://xenbits.xen.org/xsa/advisory-318.html
- http://xenbits.xen.org/xsa/advisory-318.html
- http://www.openwall.com/lists/oss-security/2020/04/14/4
- http://lists.opensuse.org/opensuse-security-announce/2020-05/msg00006.html
- https://security.gentoo.org/glsa/202005-08
- https://www.debian.org/security/2020/dsa-4723
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/YMAW7D2MP6RE4BFI5BZWOBBWGY3VSOFN/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/5M2XRNCHOGGTJQBZQJ7DCV6ZNAKN3LE2/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NVTP4OYHCTRU3ONFJOFJQVNDFB25KLLG/