Vulnerabilities > CVE-2017-7501 - Link Following vulnerability in RPM
Attack vector
LOCAL Attack complexity
LOW Privileges required
LOW Confidentiality impact
HIGH Integrity impact
HIGH Availability impact
HIGH Summary
It was found that versions of rpm before 4.13.0.2 use temporary files with predictable names when installing an RPM. An attacker with ability to write in a directory where files will be installed could create symbolic links to an arbitrary location and modify content, and possibly permissions to arbitrary files, which could be used for denial of service or possibly privilege escalation.
Vulnerable Configurations
Common Weakness Enumeration (CWE)
Common Attack Pattern Enumeration and Classification (CAPEC)
- Symlink Attack An attacker positions a symbolic link in such a manner that the targeted user or application accesses the link's endpoint, assuming that it is accessing a file with the link's name. The endpoint file may be either output or input. If the file is output, the result is that the endpoint is modified, instead of a file at the intended location. Modifications to the endpoint file may include appending, overwriting, corrupting, changing permissions, or other modifications. In some variants of this attack the attacker may be able to control the change to a file while in other cases they cannot. The former is especially damaging since the attacker may be able to grant themselves increased privileges or insert false information, but the latter can also be damaging as it can expose sensitive information or corrupt or destroy vital system or application files. Alternatively, the endpoint file may serve as input to the targeted application. This can be used to feed malformed input into the target or to cause the target to process different information, possibly allowing the attacker to control the actions of the target or to cause the target to expose information to the attacker. Moreover, the actions taken on the endpoint file are undertaken with the permissions of the targeted user or application, which may exceed the permissions that the attacker would normally have.
- Accessing, Modifying or Executing Executable Files An attack of this type exploits a system's configuration that allows an attacker to either directly access an executable file, for example through shell access; or in a possible worst case allows an attacker to upload a file and then execute it. Web servers, ftp servers, and message oriented middleware systems which have many integration points are particularly vulnerable, because both the programmers and the administrators must be in synch regarding the interfaces and the correct privileges for each interface.
- Leverage Executable Code in Non-Executable Files An attack of this type exploits a system's trust in configuration and resource files, when the executable loads the resource (such as an image file or configuration file) the attacker has modified the file to either execute malicious code directly or manipulate the target process (e.g. application server) to execute based on the malicious configuration parameters. Since systems are increasingly interrelated mashing up resources from local and remote sources the possibility of this attack occurring is high. The attack can be directed at a client system, such as causing buffer overrun through loading seemingly benign image files, as in Microsoft Security Bulletin MS04-028 where specially crafted JPEG files could cause a buffer overrun once loaded into the browser. Another example targets clients reading pdf files. In this case the attacker simply appends javascript to the end of a legitimate url for a pdf (http://www.gnucitizen.org/blog/danger-danger-danger/) http://path/to/pdf/file.pdf#whatever_name_you_want=javascript:your_code_here The client assumes that they are reading a pdf, but the attacker has modified the resource and loaded executable javascript into the client's browser process. The attack can also target server processes. The attacker edits the resource or configuration file, for example a web.xml file used to configure security permissions for a J2EE app server, adding role name "public" grants all users with the public role the ability to use the administration functionality. The server trusts its configuration file to be correct, but when they are manipulated, the attacker gains full control.
- Manipulating Input to File System Calls An attacker manipulates inputs to the target software which the target software passes to file system calls in the OS. The goal is to gain access to, and perhaps modify, areas of the file system that the target software did not intend to be accessible.
Nessus
NASL family Huawei Local Security Checks NASL id EULEROS_SA-2019-1616.NASL description According to the version of the rpm packages installed, the EulerOS Virtualization for ARM 64 installation on the remote host is affected by the following vulnerability : - It was found that rpm uses temporary files with predictable names when installing an RPM. An attacker with ability to write in a directory where files will be installed could create symbolic links to an arbitrary location and modify content, and possibly permissions to arbitrary files, which could be used for denial of service or possibly privilege escalation.(CVE-2017-7501) Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues. last seen 2020-06-01 modified 2020-06-02 plugin id 125568 published 2019-05-30 reporter This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/125568 title EulerOS Virtualization for ARM 64 3.0.2.0 : rpm (EulerOS-SA-2019-1616) code # # (C) Tenable Network Security, Inc. # include("compat.inc"); if (description) { script_id(125568); script_version("1.4"); script_cvs_date("Date: 2020/01/15"); script_cve_id( "CVE-2017-7501" ); script_name(english:"EulerOS Virtualization for ARM 64 3.0.2.0 : rpm (EulerOS-SA-2019-1616)"); script_summary(english:"Checks the rpm output for the updated package."); script_set_attribute(attribute:"synopsis", value: "The remote EulerOS Virtualization for ARM 64 host is missing a security update."); script_set_attribute(attribute:"description", value: "According to the version of the rpm packages installed, the EulerOS Virtualization for ARM 64 installation on the remote host is affected by the following vulnerability : - It was found that rpm uses temporary files with predictable names when installing an RPM. An attacker with ability to write in a directory where files will be installed could create symbolic links to an arbitrary location and modify content, and possibly permissions to arbitrary files, which could be used for denial of service or possibly privilege escalation.(CVE-2017-7501) Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues."); # https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2019-1616 script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?86ec5b81"); script_set_attribute(attribute:"solution", value: "Update the affected rpm package."); script_set_cvss_base_vector("CVSS2#AV:L/AC:L/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:L/AC:L/PR:L/UI:N/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:"patch_publication_date", value:"2019/05/30"); script_set_attribute(attribute:"plugin_publication_date", value:"2019/05/30"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-build"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-build-libs"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-libs"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-python"); script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:uvp:3.0.2.0"); script_set_attribute(attribute:"generated_plugin", value:"current"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_family(english:"Huawei Local Security Checks"); script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof."); script_dependencies("ssh_get_info.nasl"); script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/uvp_version"); 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/EulerOS/release"); if (isnull(release) || release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS"); uvp = get_kb_item("Host/EulerOS/uvp_version"); if (uvp != "3.0.2.0") audit(AUDIT_OS_NOT, "EulerOS Virtualization 3.0.2.0"); if (!get_kb_item("Host/EulerOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING); cpu = get_kb_item("Host/cpu"); if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH); if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "aarch64" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu); if ("aarch64" >!< cpu) audit(AUDIT_ARCH_NOT, "aarch64", cpu); flag = 0; pkgs = ["rpm-4.11.3-32.h6", "rpm-build-4.11.3-32.h6", "rpm-build-libs-4.11.3-32.h6", "rpm-libs-4.11.3-32.h6", "rpm-python-4.11.3-32.h6"]; foreach (pkg in pkgs) if (rpm_check(release:"EulerOS-2.0", reference:pkg)) flag++; if (flag) { security_report_v4( port : 0, severity : SECURITY_WARNING, extra : rpm_report_get() ); exit(0); } else { tested = pkg_tests_get(); if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested); else audit(AUDIT_PACKAGE_NOT_INSTALLED, "rpm"); }
NASL family SuSE Local Security Checks NASL id SUSE_SU-2018-3884-1.NASL description This update for rpm fixes the following issues : These security issues were fixed : CVE-2017-7500: rpm did not properly handle RPM installations when a destination path was a symbolic link to a directory, possibly changing ownership and permissions of an arbitrary directory, and RPM files being placed in an arbitrary destination (bsc#943457). CVE-2017-7501: rpm used temporary files with predictable names when installing an RPM. An attacker with ability to write in a directory where files will be installed could create symbolic links to an arbitrary location and modify content, and possibly permissions to arbitrary files, which could be used for denial of service or possibly privilege escalation (bsc#943457) This is a reissue of the above security fixes for SUSE Linux Enterprise 12 GA, SP1 and SP2 LTSS, they have already been released for SUSE Linux Enterprise Server 12 SP3. 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-01 modified 2020-06-02 plugin id 119145 published 2018-11-26 reporter This script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/119145 title SUSE SLED12 / SLES12 Security Update : rpm (SUSE-SU-2018:3884-1) code # # (C) Tenable Network Security, Inc. # # The descriptive text and package checks in this plugin were # extracted from SUSE update advisory SUSE-SU-2018:3884-1. # The text itself is copyright (C) SUSE. # include("compat.inc"); if (description) { script_id(119145); script_version("1.2"); script_cvs_date("Date: 2019/09/10 13:51:49"); script_cve_id("CVE-2017-7500", "CVE-2017-7501"); script_name(english:"SUSE SLED12 / SLES12 Security Update : rpm (SUSE-SU-2018:3884-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 rpm fixes the following issues : These security issues were fixed : CVE-2017-7500: rpm did not properly handle RPM installations when a destination path was a symbolic link to a directory, possibly changing ownership and permissions of an arbitrary directory, and RPM files being placed in an arbitrary destination (bsc#943457). CVE-2017-7501: rpm used temporary files with predictable names when installing an RPM. An attacker with ability to write in a directory where files will be installed could create symbolic links to an arbitrary location and modify content, and possibly permissions to arbitrary files, which could be used for denial of service or possibly privilege escalation (bsc#943457) This is a reissue of the above security fixes for SUSE Linux Enterprise 12 GA, SP1 and SP2 LTSS, they have already been released for SUSE Linux Enterprise Server 12 SP3. 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=943457" ); script_set_attribute( attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2017-7500/" ); script_set_attribute( attribute:"see_also", value:"https://www.suse.com/security/cve/CVE-2017-7501/" ); # https://www.suse.com/support/update/announcement/2018/suse-su-20183884-1/ script_set_attribute( attribute:"see_also", value:"http://www.nessus.org/u?8139f1fd" ); 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 OpenStack Cloud 7:zypper in -t patch SUSE-OpenStack-Cloud-7-2018-2766=1 SUSE Linux Enterprise Software Development Kit 12-SP4:zypper in -t patch SUSE-SLE-SDK-12-SP4-2018-2766=1 SUSE Linux Enterprise Software Development Kit 12-SP3:zypper in -t patch SUSE-SLE-SDK-12-SP3-2018-2766=1 SUSE Linux Enterprise Server for SAP 12-SP2:zypper in -t patch SUSE-SLE-SAP-12-SP2-2018-2766=1 SUSE Linux Enterprise Server 12-SP4:zypper in -t patch SUSE-SLE-SERVER-12-SP4-2018-2766=1 SUSE Linux Enterprise Server 12-SP3:zypper in -t patch SUSE-SLE-SERVER-12-SP3-2018-2766=1 SUSE Linux Enterprise Server 12-SP2-LTSS:zypper in -t patch SUSE-SLE-SERVER-12-SP2-2018-2766=1 SUSE Linux Enterprise Server 12-SP2-BCL:zypper in -t patch SUSE-SLE-SERVER-12-SP2-BCL-2018-2766=1 SUSE Linux Enterprise Server 12-SP1-LTSS:zypper in -t patch SUSE-SLE-SERVER-12-SP1-2018-2766=1 SUSE Linux Enterprise Server 12-LTSS:zypper in -t patch SUSE-SLE-SERVER-12-2018-2766=1 SUSE Linux Enterprise Desktop 12-SP4:zypper in -t patch SUSE-SLE-DESKTOP-12-SP4-2018-2766=1 SUSE Linux Enterprise Desktop 12-SP3:zypper in -t patch SUSE-SLE-DESKTOP-12-SP3-2018-2766=1 SUSE Enterprise Storage 4:zypper in -t patch SUSE-Storage-4-2018-2766=1 SUSE CaaS Platform ALL : To install this update, use the SUSE CaaS Platform Velum dashboard. It will inform you if it detects new updates and let you then trigger updating of the complete cluster in a controlled way. SUSE CaaS Platform 3.0 : To install this update, use the SUSE CaaS Platform Velum dashboard. It will inform you if it detects new updates and let you then trigger updating of the complete cluster in a controlled way. OpenStack Cloud Magnum Orchestration 7:zypper in -t patch SUSE-OpenStack-Cloud-Magnum-Orchestration-7-2018-2766=1" ); script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C"); script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:python3-rpm"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:python3-rpm-debuginfo"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:python3-rpm-debugsource"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:rpm"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:rpm-build"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:rpm-build-debuginfo"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:rpm-debuginfo"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:rpm-debugsource"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:rpm-python"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:rpm-python-debuginfo"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:rpm-python-debugsource"); script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:12"); script_set_attribute(attribute:"vuln_publication_date", value:"2017/11/22"); script_set_attribute(attribute:"patch_publication_date", value:"2018/11/23"); script_set_attribute(attribute:"plugin_publication_date", value:"2018/11/26"); script_set_attribute(attribute:"generated_plugin", value:"current"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 2018-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/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:"^(0|1|2|3|4)$", string:sp))) audit(AUDIT_OS_NOT, "SLES12 SP0/1/2/3/4", os_ver + " SP" + sp); if (os_ver == "SLED12" && (! preg(pattern:"^(3|4)$", string:sp))) audit(AUDIT_OS_NOT, "SLED12 SP3/4", os_ver + " SP" + sp); flag = 0; if (rpm_check(release:"SLES12", sp:"1", reference:"python3-rpm-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"1", reference:"python3-rpm-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"1", reference:"python3-rpm-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"1", reference:"rpm-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"1", reference:"rpm-build-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"1", reference:"rpm-build-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"1", reference:"rpm-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"1", reference:"rpm-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"1", reference:"rpm-python-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"1", reference:"rpm-python-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"1", reference:"rpm-python-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"1", reference:"rpm-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"1", reference:"rpm-debuginfo-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"4", reference:"python3-rpm-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"4", reference:"python3-rpm-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"4", reference:"python3-rpm-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"4", reference:"rpm-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"4", reference:"rpm-build-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"4", reference:"rpm-build-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"4", reference:"rpm-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"4", reference:"rpm-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"4", reference:"rpm-python-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"4", reference:"rpm-python-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"4", reference:"rpm-python-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"4", reference:"rpm-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"4", reference:"rpm-debuginfo-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"0", reference:"python3-rpm-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"0", reference:"python3-rpm-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"0", reference:"python3-rpm-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"0", reference:"rpm-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"0", reference:"rpm-build-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"0", reference:"rpm-build-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"0", reference:"rpm-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"0", reference:"rpm-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"0", reference:"rpm-python-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"0", reference:"rpm-python-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"0", reference:"rpm-python-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"0", reference:"rpm-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"0", reference:"rpm-debuginfo-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"3", reference:"python3-rpm-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"3", reference:"python3-rpm-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"3", reference:"python3-rpm-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"3", reference:"rpm-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"3", reference:"rpm-build-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"3", reference:"rpm-build-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"3", reference:"rpm-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"3", reference:"rpm-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"3", reference:"rpm-python-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"3", reference:"rpm-python-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"3", reference:"rpm-python-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"3", reference:"rpm-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"3", reference:"rpm-debuginfo-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"python3-rpm-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"python3-rpm-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"python3-rpm-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"rpm-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"rpm-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"rpm-build-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"rpm-build-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"rpm-debuginfo-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"rpm-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"rpm-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"rpm-python-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"rpm-python-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", cpu:"x86_64", reference:"rpm-python-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", reference:"python3-rpm-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", reference:"python3-rpm-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", reference:"python3-rpm-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", reference:"rpm-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", reference:"rpm-build-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", reference:"rpm-build-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", reference:"rpm-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", reference:"rpm-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", reference:"rpm-python-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", reference:"rpm-python-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", reference:"rpm-python-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", reference:"rpm-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLES12", sp:"2", reference:"rpm-debuginfo-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"python3-rpm-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"python3-rpm-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"python3-rpm-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"rpm-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"rpm-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"rpm-build-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"rpm-build-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"rpm-debuginfo-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"rpm-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"rpm-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"rpm-python-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"rpm-python-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"rpm-python-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"rpm-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"rpm-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"rpm-build-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"rpm-build-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"rpm-debuginfo-32bit-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"rpm-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"rpm-debugsource-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"rpm-python-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"rpm-python-debuginfo-4.11.2-16.21.1")) flag++; if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"rpm-python-debugsource-4.11.2-16.21.1")) flag++; if (flag) { if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get()); else security_hole(0); exit(0); } else { tested = pkg_tests_get(); if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested); else audit(AUDIT_PACKAGE_NOT_INSTALLED, "rpm"); }
NASL family PhotonOS Local Security Checks NASL id PHOTONOS_PHSA-2017-1_0-0095.NASL description An update of 'curl', 'docker', 'binutils', 'linux','rpm' packages of Photon OS has been released. last seen 2019-02-21 modified 2019-02-07 plugin id 111904 published 2018-08-17 reporter Tenable source https://www.tenable.com/plugins/index.php?view=single&id=111904 title Photon OS 1.0: Binutils / Curl / Docker / Linux / Rpm PHSA-2017-1.0-0095 (deprecated) code # # (C) Tenable Network Security, Inc. # # @DEPRECATED@ # # Disabled on 2/7/2019 # # The descriptive text and package checks in this plugin were # extracted from VMware Security Advisory PHSA-2017-1.0-0095. The text # itself is copyright (C) VMware, Inc. include("compat.inc"); if (description) { script_id(111904); script_version("1.2"); script_cvs_date("Date: 2019/02/07 18:59:50"); script_cve_id( "CVE-2017-7501", "CVE-2017-8818", "CVE-2017-12190", "CVE-2017-14992", "CVE-2017-17121", "CVE-2017-17122", "CVE-2017-17124", "CVE-2017-17125", "CVE-2017-1000407" ); script_name(english:"Photon OS 1.0: Binutils / Curl / Docker / Linux / Rpm PHSA-2017-1.0-0095 (deprecated)"); script_summary(english:"Checks the rpm output for the updated packages."); script_set_attribute(attribute:"synopsis", value: "This plugin has been deprecated."); script_set_attribute(attribute:"description", value: "An update of 'curl', 'docker', 'binutils', 'linux','rpm' packages of Photon OS has been released."); # https://github.com/vmware/photon/wiki/Security-Updates-1.0-95 script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?5e92d3f9"); script_set_attribute(attribute:"solution", value:"n/a."); script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P"); script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"); script_set_attribute(attribute:"cvss_score_source", value:"CVE-2017-8818"); script_set_attribute(attribute:"patch_publication_date", value:"2017/12/28"); script_set_attribute(attribute:"plugin_publication_date", value:"2018/08/17"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:vmware:photonos:binutils"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:vmware:photonos:curl"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:vmware:photonos:docker"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:vmware:photonos:linux"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:vmware:photonos:rpm"); script_set_attribute(attribute:"cpe", value:"cpe:/o:vmware:photonos:1.0"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_family(english:"PhotonOS Local Security Checks"); script_copyright(english:"This script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof."); script_dependencies("ssh_get_info.nasl"); script_require_keys("Host/local_checks_enabled", "Host/PhotonOS/release", "Host/PhotonOS/rpm-list"); exit(0); } exit(0, "This plugin has been deprecated."); 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/PhotonOS/release"); if (isnull(release) || release !~ "^VMware Photon") audit(AUDIT_OS_NOT, "PhotonOS"); if (release !~ "^VMware Photon (?:Linux|OS) 1\.0(\D|$)") audit(AUDIT_OS_NOT, "PhotonOS 1.0"); if (!get_kb_item("Host/PhotonOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING); cpu = get_kb_item("Host/cpu"); if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH); if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "PhotonOS", cpu); flag = 0; pkgs = [ "binutils-2.29.1-3.ph1", "binutils-debuginfo-2.29.1-3.ph1", "binutils-devel-2.29.1-3.ph1", "curl-7.56.1-2.ph1", "curl-debuginfo-7.56.1-2.ph1", "docker-17.06.0-2.ph1", "docker-doc-17.06.0-2.ph1", "linux-4.4.106-1.ph1", "linux-api-headers-4.4.106-1.ph1", "linux-debuginfo-4.4.106-1.ph1", "linux-dev-4.4.106-1.ph1", "linux-docs-4.4.106-1.ph1", "linux-drivers-gpu-4.4.106-1.ph1", "linux-esx-4.4.106-1.ph1", "linux-esx-debuginfo-4.4.106-1.ph1", "linux-esx-devel-4.4.106-1.ph1", "linux-esx-docs-4.4.106-1.ph1", "linux-oprofile-4.4.106-1.ph1", "linux-sound-4.4.106-1.ph1", "linux-tools-4.4.106-1.ph1", "rpm-4.13.0.1-4.ph1", "rpm-debuginfo-4.13.0.1-4.ph1" ]; foreach (pkg in pkgs) if (rpm_check(release:"PhotonOS-1.0", reference:pkg)) flag++; if (flag) { security_report_v4( port : 0, severity : SECURITY_HOLE, extra : rpm_report_get() ); exit(0); } else { tested = pkg_tests_get(); if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested); else audit(AUDIT_PACKAGE_NOT_INSTALLED, "binutils / curl / docker / linux / rpm"); }
NASL family Huawei Local Security Checks NASL id EULEROS_SA-2019-1043.NASL description According to the version of the rpm packages installed, the EulerOS installation on the remote host is affected by the following vulnerability : - It was found that rpm uses temporary files with predictable names when installing an RPM. An attacker with ability to write in a directory where files will be installed could create symbolic links to an arbitrary location and modify content, and possibly permissions to arbitrary files, which could be used for denial of service or possibly privilege escalation.(CVE-2017-7501) Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues. last seen 2020-05-06 modified 2019-02-15 plugin id 122216 published 2019-02-15 reporter This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/122216 title EulerOS 2.0 SP3 : rpm (EulerOS-SA-2019-1043) code # # (C) Tenable Network Security, Inc. # include("compat.inc"); if (description) { script_id(122216); script_version("1.4"); script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/04"); script_cve_id( "CVE-2017-7501" ); script_name(english:"EulerOS 2.0 SP3 : rpm (EulerOS-SA-2019-1043)"); script_summary(english:"Checks the rpm output for the updated package."); script_set_attribute(attribute:"synopsis", value: "The remote EulerOS host is missing a security update."); script_set_attribute(attribute:"description", value: "According to the version of the rpm packages installed, the EulerOS installation on the remote host is affected by the following vulnerability : - It was found that rpm uses temporary files with predictable names when installing an RPM. An attacker with ability to write in a directory where files will be installed could create symbolic links to an arbitrary location and modify content, and possibly permissions to arbitrary files, which could be used for denial of service or possibly privilege escalation.(CVE-2017-7501) Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues."); # https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2019-1043 script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?72601959"); script_set_attribute(attribute:"solution", value: "Update the affected rpm package."); script_set_cvss_base_vector("CVSS2#AV:L/AC:L/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:L/AC:L/PR:L/UI:N/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:"patch_publication_date", value:"2019/01/29"); script_set_attribute(attribute:"plugin_publication_date", value:"2019/02/15"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-build"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-build-libs"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-devel"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-libs"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-python"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-sign"); script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:2.0"); script_set_attribute(attribute:"generated_plugin", value:"current"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_family(english:"Huawei Local Security Checks"); script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof."); script_dependencies("ssh_get_info.nasl"); script_require_keys("Host/local_checks_enabled", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/sp"); script_exclude_keys("Host/EulerOS/uvp_version"); 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/EulerOS/release"); if (isnull(release) || release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS"); if (release !~ "^EulerOS release 2\.0(\D|$)") audit(AUDIT_OS_NOT, "EulerOS 2.0"); sp = get_kb_item("Host/EulerOS/sp"); if (isnull(sp) || sp !~ "^(3)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP3"); uvp = get_kb_item("Host/EulerOS/uvp_version"); if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP3", "EulerOS UVP " + uvp); if (!get_kb_item("Host/EulerOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING); cpu = get_kb_item("Host/cpu"); if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH); if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "aarch64" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu); if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_ARCH_NOT, "i686 / x86_64", cpu); flag = 0; pkgs = ["rpm-4.11.3-21.h5", "rpm-build-4.11.3-21.h5", "rpm-build-libs-4.11.3-21.h5", "rpm-devel-4.11.3-21.h5", "rpm-libs-4.11.3-21.h5", "rpm-python-4.11.3-21.h5", "rpm-sign-4.11.3-21.h5"]; foreach (pkg in pkgs) if (rpm_check(release:"EulerOS-2.0", sp:"3", reference:pkg)) flag++; if (flag) { security_report_v4( port : 0, severity : SECURITY_WARNING, extra : rpm_report_get() ); exit(0); } else { tested = pkg_tests_get(); if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested); else audit(AUDIT_PACKAGE_NOT_INSTALLED, "rpm"); }
NASL family Huawei Local Security Checks NASL id EULEROS_SA-2018-1353.NASL description According to the version of the rpm packages installed, the EulerOS installation on the remote host is affected by the following vulnerability : - It was found that rpm uses temporary files with predictable names when installing an RPM. An attacker with ability to write in a directory where files will be installed could create symbolic links to an arbitrary location and modify content, and possibly permissions to arbitrary files, which could be used for denial of service or possibly privilege escalation.(CVE-2017-7501) Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues. last seen 2020-05-06 modified 2018-11-06 plugin id 118736 published 2018-11-06 reporter This script is Copyright (C) 2018-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/118736 title EulerOS 2.0 SP2 : rpm (EulerOS-SA-2018-1353) code # # (C) Tenable Network Security, Inc. # include("compat.inc"); if (description) { script_id(118736); script_version("1.4"); script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/04"); script_cve_id( "CVE-2017-7501" ); script_name(english:"EulerOS 2.0 SP2 : rpm (EulerOS-SA-2018-1353)"); script_summary(english:"Checks the rpm output for the updated package."); script_set_attribute(attribute:"synopsis", value: "The remote EulerOS host is missing a security update."); script_set_attribute(attribute:"description", value: "According to the version of the rpm packages installed, the EulerOS installation on the remote host is affected by the following vulnerability : - It was found that rpm uses temporary files with predictable names when installing an RPM. An attacker with ability to write in a directory where files will be installed could create symbolic links to an arbitrary location and modify content, and possibly permissions to arbitrary files, which could be used for denial of service or possibly privilege escalation.(CVE-2017-7501) Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues."); # https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2018-1353 script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?d33bee68"); script_set_attribute(attribute:"solution", value: "Update the affected rpm package."); script_set_cvss_base_vector("CVSS2#AV:L/AC:L/Au:N/C:P/I:P/A:P"); script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"); script_set_attribute(attribute:"patch_publication_date", value:"2018/10/26"); script_set_attribute(attribute:"plugin_publication_date", value:"2018/11/06"); script_set_attribute(attribute:"plugin_type", value:"local"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-build"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-build-libs"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-devel"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-libs"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-python"); script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:rpm-sign"); script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:2.0"); script_set_attribute(attribute:"generated_plugin", value:"current"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_family(english:"Huawei Local Security Checks"); script_copyright(english:"This script is Copyright (C) 2018-2020 and is owned by Tenable, Inc. or an Affiliate thereof."); script_dependencies("ssh_get_info.nasl"); script_require_keys("Host/local_checks_enabled", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/sp"); script_exclude_keys("Host/EulerOS/uvp_version"); 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/EulerOS/release"); if (isnull(release) || release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS"); if (release !~ "^EulerOS release 2\.0(\D|$)") audit(AUDIT_OS_NOT, "EulerOS 2.0"); sp = get_kb_item("Host/EulerOS/sp"); if (isnull(sp) || sp !~ "^(2)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP2"); uvp = get_kb_item("Host/EulerOS/uvp_version"); if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP2", "EulerOS UVP " + uvp); if (!get_kb_item("Host/EulerOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING); cpu = get_kb_item("Host/cpu"); if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH); if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "aarch64" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu); if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_ARCH_NOT, "i686 / x86_64", cpu); flag = 0; pkgs = ["rpm-4.11.3-17.h3", "rpm-build-4.11.3-17.h3", "rpm-build-libs-4.11.3-17.h3", "rpm-devel-4.11.3-17.h3", "rpm-libs-4.11.3-17.h3", "rpm-python-4.11.3-17.h3", "rpm-sign-4.11.3-17.h3"]; foreach (pkg in pkgs) if (rpm_check(release:"EulerOS-2.0", sp:"2", reference:pkg)) flag++; if (flag) { security_report_v4( port : 0, severity : SECURITY_WARNING, extra : rpm_report_get() ); exit(0); } else { tested = pkg_tests_get(); if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested); else audit(AUDIT_PACKAGE_NOT_INSTALLED, "rpm"); }
NASL family Fedora Local Security Checks NASL id FEDORA_2017-AB57A100F3.NASL description This latest stable release on rpm 4.13.x branch brings in several important bugfixes. For details see release notes at http://rpm.org/wiki/Releases/4.13.0.2. 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-05 modified 2017-11-29 plugin id 104828 published 2017-11-29 reporter This script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/104828 title Fedora 25 : rpm (2017-ab57a100f3) NASL family Huawei Local Security Checks NASL id EULEROS_SA-2019-1011.NASL description According to the version of the rpm packages installed, the EulerOS installation on the remote host is affected by the following vulnerability : - It was found that rpm uses temporary files with predictable names when installing an RPM. An attacker with ability to write in a directory where files will be installed could create symbolic links to an arbitrary location and modify content, and possibly permissions to arbitrary files, which could be used for denial of service or possibly privilege escalation.(CVE-2017-7501) Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues. last seen 2020-05-06 modified 2019-01-08 plugin id 120999 published 2019-01-08 reporter This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/120999 title EulerOS 2.0 SP5 : rpm (EulerOS-SA-2019-1011) NASL family Gentoo Local Security Checks NASL id GENTOO_GLSA-201811-22.NASL description The remote host is affected by the vulnerability described in GLSA-201811-22 (RPM: Multiple vulnerabilities) Multiple vulnerabilities have been discovered in RPM. Please review the CVE identifiers referenced below for details. Impact : A remote attacker, by enticing the user to process a specially crafted RPM file, could escalate privileges, execute arbitrary code, or cause a Denial of Service condition. Workaround : There is no known workaround at this time. last seen 2020-06-01 modified 2020-06-02 plugin id 119276 published 2018-11-29 reporter This script is Copyright (C) 2018 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/119276 title GLSA-201811-22 : RPM: Multiple vulnerabilities NASL family SuSE Local Security Checks NASL id SUSE_SU-2018-3286-1.NASL description This update for rpm fixes the following issues : These security issues were fixed : CVE-2017-7500: rpm did not properly handle RPM installations when a destination path was a symbolic link to a directory, possibly changing ownership and permissions of an arbitrary directory, and RPM files being placed in an arbitrary destination (bsc#943457). CVE-2017-7501: rpm used temporary files with predictable names when installing an RPM. An attacker with ability to write in a directory where files will be installed could create symbolic links to an arbitrary location and modify content, and possibly permissions to arbitrary files, which could be used for denial of service or possibly privilege escalation (bsc#943457) The update package also includes non-security fixes. See advisory for details. 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-01 modified 2020-06-02 plugin id 118319 published 2018-10-23 reporter This script is Copyright (C) 2018-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/118319 title SUSE SLED12 / SLES12 Security Update : rpm (SUSE-SU-2018:3286-1) NASL family Huawei Local Security Checks NASL id EULEROS_SA-2019-1466.NASL description According to the version of the rpm packages installed, the EulerOS Virtualization installation on the remote host is affected by the following vulnerability : - It was found that rpm uses temporary files with predictable names when installing an RPM. An attacker with ability to write in a directory where files will be installed could create symbolic links to an arbitrary location and modify content, and possibly permissions to arbitrary files, which could be used for denial of service or possibly privilege escalation.(CVE-2017-7501) Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues. last seen 2020-06-01 modified 2020-06-02 plugin id 124969 published 2019-05-14 reporter This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/124969 title EulerOS Virtualization 3.0.1.0 : rpm (EulerOS-SA-2019-1466) NASL family Huawei Local Security Checks NASL id EULEROS_SA-2019-1210.NASL description According to the version of the rpm packages installed, the EulerOS Virtualization installation on the remote host is affected by the following vulnerability : - It was found that rpm uses temporary files with predictable names when installing an RPM. An attacker with ability to write in a directory where files will be installed could create symbolic links to an arbitrary location and modify content, and possibly permissions to arbitrary files, which could be used for denial of service or possibly privilege escalation.i1/4^CVE-2017-7501i1/4%0 Note that Tenable Network Security has extracted the preceding description block directly from the EulerOS security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues. last seen 2020-03-19 modified 2019-04-09 plugin id 123896 published 2019-04-09 reporter This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/123896 title EulerOS Virtualization 2.5.4 : rpm (EulerOS-SA-2019-1210) NASL family SuSE Local Security Checks NASL id OPENSUSE-2018-1246.NASL description This update for rpm fixes the following issues : These security issues were fixed : - CVE-2017-7500: rpm did not properly handle RPM installations when a destination path was a symbolic link to a directory, possibly changing ownership and permissions of an arbitrary directory, and RPM files being placed in an arbitrary destination (bsc#943457). - CVE-2017-7501: rpm used temporary files with predictable names when installing an RPM. An attacker with ability to write in a directory where files will be installed could create symbolic links to an arbitrary location and modify content, and possibly permissions to arbitrary files, which could be used for denial of service or possibly privilege escalation (bsc#943457) This non-security issue was fixed : - Use ksym-provides tool [bsc#1077692] This update was imported from the SUSE:SLE-12:Update update project. last seen 2020-06-05 modified 2018-10-25 plugin id 118382 published 2018-10-25 reporter This script is Copyright (C) 2018-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/118382 title openSUSE Security Update : rpm (openSUSE-2018-1246) NASL family Fedora Local Security Checks NASL id FEDORA_2017-9232EAC8E8.NASL description This latest stable release on rpm 4.13.x branch brings in several important bugfixes. For details see release notes at http://rpm.org/wiki/Releases/4.13.0.2. 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-05 modified 2017-11-08 plugin id 104447 published 2017-11-08 reporter This script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/104447 title Fedora 26 : rpm (2017-9232eac8e8) NASL family PhotonOS Local Security Checks NASL id PHOTONOS_PHSA-2017-1_0-0095_RPM.NASL description An update of the rpm package has been released. last seen 2020-03-17 modified 2019-02-07 plugin id 121787 published 2019-02-07 reporter This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/121787 title Photon OS 1.0: Rpm PHSA-2017-1.0-0095
References
- https://github.com/rpm-software-management/rpm/commit/404ef011c300207cdb1e531670384564aae04bdc
- https://security.gentoo.org/glsa/201811-22
- https://lists.apache.org/thread.html/rf4c02775860db415b4955778a131c2795223f61cb8c6a450893651e4%40%3Cissues.bookkeeper.apache.org%3E
- https://lists.apache.org/thread.html/r58af02e294bd07f487e2c64ffc0a29b837db5600e33b6e698b9d696b%40%3Cissues.bookkeeper.apache.org%3E