Vulnerabilities > CVE-2018-1000622 - Uncontrolled Search Path Element vulnerability in Rust-Lang Rust

047910
CVSS 7.8 - HIGH
Attack vector
LOCAL
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
HIGH
Integrity impact
HIGH
Availability impact
HIGH
local
low complexity
rust-lang
CWE-427
nessus

Summary

The Rust Programming Language rustdoc version Between 0.8 and 1.27.0 contains a CWE-427: Uncontrolled Search Path Element vulnerability in rustdoc plugins that can result in local code execution as a different user. This attack appear to be exploitable via using the --plugin flag without the --plugin-path flag. This vulnerability appears to have been fixed in 1.27.1.

Common Weakness Enumeration (CWE)

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Leveraging/Manipulating Configuration File Search Paths
    This attack loads a malicious resource into a program's standard path used to bootstrap and/or provide contextual information for a program like a path variable or classpath. J2EE applications and other component based applications that are built from multiple binaries can have very long list of dependencies to execute. If one of these libraries and/or references is controllable by the attacker then application controls can be circumvented by the attacker. A standard UNIX path looks similar to this If the attacker modifies the path variable to point to a locale that includes malicious resources then the user unwittingly can execute commands on the attackers' behalf: This is a form of usurping control of the program and the attack can be done on the classpath, database resources, or any other resources built from compound parts. At runtime detection and blocking of this attack is nearly impossible, because the configuration allows execution.
  • DLL Search Order Hijacking
    The attacker exploits the functionality of the Windows DLL loader where the process loading the DLL searches for the DLL to be loaded first in the same directory in which the process binary resides and then in other directories (e.g., System32). Exploitation of this preferential search order can allow an attacker to make the loading process load the attackers' rogue DLL rather than the legitimate DLL. For instance, an attacker with access to the file system may place a malicious ntshrui.dll in the C:\Windows directory. This DLL normally resides in the System32 folder. Process explorer.exe which also resides in C:\Windows, upon trying to load the ntshrui.dll from the System32 folder will actually load the DLL supplied by the attacker simply because of the preferential search order. Since the attacker has placed its malicious ntshrui.dll in the same directory as the loading explorer.exe process, the DLL supplied by the attacker will be found first and thus loaded in lieu of the legitimate DLL. Since explorer.exe is loaded during the boot cycle, the attackers' malware is guaranteed to execute. This attack can be leveraged with many different DLLs and with many different loading processes. No forensic trails are left in the system's registry or file system that an incorrect DLL had been loaded.

Nessus

  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2019-2244.NASL
    descriptionThis update for rust fixes the following issues : Rust was updated to version 1.36.0. Security issues fixed : - CVE-2019-12083: a standard method can be overridden violating Rust
    last seen2020-06-01
    modified2020-06-02
    plugin id129579
    published2019-10-04
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/129579
    titleopenSUSE Security Update : rust (openSUSE-2019-2244)
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2019-2203.NASL
    descriptionThis update for rust fixes the following issues : Rust was updated to version 1.36.0. Security issues fixed : - CVE-2019-12083: a standard method can be overridden violating Rust
    last seen2020-06-01
    modified2020-06-02
    plugin id129455
    published2019-09-30
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/129455
    titleopenSUSE Security Update : rust (openSUSE-2019-2203)
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2019-2439-1.NASL
    descriptionThis update for rust fixes the following issues : Rust was updated to version 1.36.0. Security issues fixed : CVE-2019-12083: a standard method can be overridden violating Rust
    last seen2020-06-01
    modified2020-06-02
    plugin id129287
    published2019-09-24
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/129287
    titleSUSE SLED15 / SLES15 Security Update : rust (SUSE-SU-2019:2439-1)
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2019-851.NASL
    descriptionThis update for rust fixes the following issues : - CVE-2018-1000622: rustdoc loads plugins from world-writable directory allowing for arbitrary code execution This patch consists of requiring `--plugin-path` to be passed whenever `--plugin` is passed Note that rustdoc plugins will be removed entirely on 1.28.0 (bsc#1100691). This update was imported from the SUSE:SLE-15:Update update project.
    last seen2020-06-01
    modified2020-06-02
    plugin id123355
    published2019-03-27
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/123355
    titleopenSUSE Security Update : rust (openSUSE-2019-851)
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2019-2201.NASL
    descriptionThis update for rust fixes the following issues : Rust was updated to version 1.36.0. Security issues fixed : - CVE-2019-12083: a standard method can be overridden violating Rust
    last seen2020-06-01
    modified2020-06-02
    plugin id129400
    published2019-09-27
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/129400
    titleopenSUSE Security Update : rust (openSUSE-2019-2201)
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2018-3357-1.NASL
    descriptionThis update for rust fixes the following issues : CVE-2018-1000622: rustdoc loads plugins from world-writable directory allowing for arbitrary code execution This patch consists of requiring `--plugin-path` to be passed whenever `--plugin` is passed Note that rustdoc plugins will be removed entirely on 1.28.0 (bsc#1100691). Note that Tenable Network Security has extracted the preceding description block directly from the SUSE security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-03-18
    modified2019-01-02
    plugin id120142
    published2019-01-02
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/120142
    titleSUSE SLED15 / SLES15 Security Update : rust (SUSE-SU-2018:3357-1)
  • NASL familyGentoo Local Security Checks
    NASL idGENTOO_GLSA-201812-11.NASL
    descriptionThe remote host is affected by the vulnerability described in GLSA-201812-11 (Rust: Multiple vulnerabilities) Multiple vulnerabilities have been discovered in Rust. Please review the CVE identifiers referenced below for details. Impact : A remote attacker able to control the value passed to Rust’s str::repeat function could possibly cause a Denial of Service condition. In addition, a local attacker could trick another user into executing arbitrary code when using rustdoc. Workaround : There is no known workaround at this time.
    last seen2020-03-24
    modified2018-12-31
    plugin id119945
    published2018-12-31
    reporterThis script is Copyright (C) 2018-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/119945
    titleGLSA-201812-11 : Rust: Multiple vulnerabilities
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2018-1279.NASL
    descriptionThis update for rust fixes the following issues : - CVE-2018-1000622: rustdoc loads plugins from world-writable directory allowing for arbitrary code execution This patch consists of requiring `--plugin-path` to be passed whenever `--plugin` is passed Note that rustdoc plugins will be removed entirely on 1.28.0 (bsc#1100691). This update was imported from the SUSE:SLE-15:Update update project.
    last seen2020-06-05
    modified2018-10-26
    plugin id118449
    published2018-10-26
    reporterThis script is Copyright (C) 2018-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/118449
    titleopenSUSE Security Update : rust (openSUSE-2018-1279)
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2019-2755-1.NASL
    descriptionThis update for rust fixes the following issues : Rust was updated to version 1.36.0. Security issues fixed : CVE-2019-12083: a standard method can be overridden violating Rust
    last seen2020-06-01
    modified2020-06-02
    plugin id130198
    published2019-10-24
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/130198
    titleSUSE SLED15 / SLES15 Security Update : rust (SUSE-SU-2019:2755-1)
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2019-2294.NASL
    descriptionThis update for rust fixes the following issues : Rust was updated to version 1.36.0. Security issues fixed : - CVE-2019-12083: a standard method can be overridden violating Rust
    last seen2020-06-01
    modified2020-06-02
    plugin id129743
    published2019-10-09
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/129743
    titleopenSUSE Security Update : rust (openSUSE-2019-2294)
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2018-F38D1CB219.NASL
    descriptionUpdate to 1.27.1. Security fix for CVE-2018-1000622 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 seen2020-06-05
    modified2018-07-24
    plugin id111249
    published2018-07-24
    reporterThis script is Copyright (C) 2018-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/111249
    titleFedora 27 : rust (2018-f38d1cb219)
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2018-499D74C768.NASL
    descriptionUpdate to 1.27.1. Security fix for CVE-2018-1000622 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 seen2020-06-05
    modified2019-01-03
    plugin id120391
    published2019-01-03
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/120391
    titleFedora 28 : rust (2018-499d74c768)

Redhat

rpms
  • rust-toolset-1.29-0:1.29.2-1.el7
  • rust-toolset-1.29-build-0:1.29.2-1.el7
  • rust-toolset-1.29-cargo-0:1.29.0-1.el7
  • rust-toolset-1.29-cargo-doc-0:1.29.0-1.el7
  • rust-toolset-1.29-cargo-vendor-0:0.1.17-1.el7
  • rust-toolset-1.29-cargo-vendor-debuginfo-0:0.1.17-1.el7
  • rust-toolset-1.29-clippy-preview-0:0.0.212-1.el7
  • rust-toolset-1.29-rls-preview-0:0.130.0-1.el7
  • rust-toolset-1.29-runtime-0:1.29.2-1.el7
  • rust-toolset-1.29-rust-0:1.29.2-1.el7
  • rust-toolset-1.29-rust-analysis-0:1.29.2-1.el7
  • rust-toolset-1.29-rust-debugger-common-0:1.29.2-1.el7
  • rust-toolset-1.29-rust-debuginfo-0:1.29.2-1.el7
  • rust-toolset-1.29-rust-doc-0:1.29.2-1.el7
  • rust-toolset-1.29-rust-gdb-0:1.29.2-1.el7
  • rust-toolset-1.29-rust-lldb-0:1.29.2-1.el7
  • rust-toolset-1.29-rust-src-0:1.29.2-1.el7
  • rust-toolset-1.29-rust-std-static-0:1.29.2-1.el7
  • rust-toolset-1.29-rustfmt-preview-0:0.99.1-1.el7