CVE-2023-38497

Cargo downloads the Rust project’s dependencies and compiles the project. Cargo prior to version 0.72.2, bundled with Rust prior to version 1.71.1, did not respect the umask when extracting crate archives on UNIX-like systems. If the user downloaded a crate containing files writeable by any local user, another local user could exploit this to change the source code compiled and executed by the current user. To prevent existing cached extractions from being exploitable, the Cargo binary version 0.72.2 included in Rust 1.71.1 or later will purge caches generated by older Cargo versions automatically. As a workaround, configure one's system to prevent other local users from accessing the Cargo directory, usually located in `~/.cargo`.
References
Link Resource
https://en.wikipedia.org/wiki/Umask Not Applicable
https://github.com/rust-lang/cargo/commit/d78bbf4bde3c6b95caca7512f537c6f9721426ff Patch
https://github.com/rust-lang/cargo/pull/12443 Mailing List Patch
https://github.com/rust-lang/cargo/security/advisories/GHSA-j3xp-wfr4-hx87 Vendor Advisory
https://github.com/rust-lang/wg-security-response/tree/main/patches/CVE-2023-38497 Third Party Advisory
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/QGKE6PGM4HIQUHPJRBQAHMELINSGN4H4/ Mailing List Third Party Advisory
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/QMEXGUGPW5OBSQA6URTBNDSU3RAEFOZ4/
https://www.rust-lang.org/policies/security Product
https://en.wikipedia.org/wiki/Umask Not Applicable
https://github.com/rust-lang/cargo/commit/d78bbf4bde3c6b95caca7512f537c6f9721426ff Patch
https://github.com/rust-lang/cargo/pull/12443 Mailing List Patch
https://github.com/rust-lang/cargo/security/advisories/GHSA-j3xp-wfr4-hx87 Vendor Advisory
https://github.com/rust-lang/wg-security-response/tree/main/patches/CVE-2023-38497 Third Party Advisory
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/QGKE6PGM4HIQUHPJRBQAHMELINSGN4H4/ Mailing List Third Party Advisory
https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/QMEXGUGPW5OBSQA6URTBNDSU3RAEFOZ4/
https://www.rust-lang.org/policies/security Product
Configurations

Configuration 1 (hide)

cpe:2.3:a:rust-lang:cargo:*:*:*:*:*:rust:*:*

Configuration 2 (hide)

cpe:2.3:o:fedoraproject:fedora:38:*:*:*:*:*:*:*

History

21 Nov 2024, 08:13

Type Values Removed Values Added
References () https://en.wikipedia.org/wiki/Umask - Not Applicable () https://en.wikipedia.org/wiki/Umask - Not Applicable
References () https://github.com/rust-lang/cargo/commit/d78bbf4bde3c6b95caca7512f537c6f9721426ff - Patch () https://github.com/rust-lang/cargo/commit/d78bbf4bde3c6b95caca7512f537c6f9721426ff - Patch
References () https://github.com/rust-lang/cargo/pull/12443 - Mailing List, Patch () https://github.com/rust-lang/cargo/pull/12443 - Mailing List, Patch
References () https://github.com/rust-lang/cargo/security/advisories/GHSA-j3xp-wfr4-hx87 - Vendor Advisory () https://github.com/rust-lang/cargo/security/advisories/GHSA-j3xp-wfr4-hx87 - Vendor Advisory
References () https://github.com/rust-lang/wg-security-response/tree/main/patches/CVE-2023-38497 - Third Party Advisory () https://github.com/rust-lang/wg-security-response/tree/main/patches/CVE-2023-38497 - Third Party Advisory
References () https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/QGKE6PGM4HIQUHPJRBQAHMELINSGN4H4/ - Mailing List, Third Party Advisory () https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/QGKE6PGM4HIQUHPJRBQAHMELINSGN4H4/ - Mailing List, Third Party Advisory
References () https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/QMEXGUGPW5OBSQA6URTBNDSU3RAEFOZ4/ - () https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/QMEXGUGPW5OBSQA6URTBNDSU3RAEFOZ4/ -
References () https://www.rust-lang.org/policies/security - Product () https://www.rust-lang.org/policies/security - Product
Summary
  • (es) Cargo descarga las dependencias del proyecto Rust y compila el proyecto. Cargo antes de la versión 0.72.2, incluido con Rust antes de la versión 1.71.1, no respetaba la umask al extraer archivos crate en sistemas tipo UNIX. Si el usuario descargaba un crate que contenía archivos escribibles por cualquier usuario local, otro usuario local podía aprovecharse de esto para cambiar el código fuente compilado y ejecutado por el usuario actual. Para evitar que las extracciones en caché existentes puedan ser explotadas, el binario Cargo versión 0.72.2 incluido en Rust 1.71.1 o posterior purgará automáticamente las cachés generadas por versiones anteriores de Cargo. Como solución, configure su sistema para evitar que otros usuarios locales accedan al directorio Cargo, normalmente ubicado en `~/.cargo`.
CVSS v2 : unknown
v3 : 7.3
v2 : unknown
v3 : 7.9

Information

Published : 2023-08-04 16:15

Updated : 2024-11-21 08:13


NVD link : CVE-2023-38497

Mitre link : CVE-2023-38497

CVE.ORG link : CVE-2023-38497


JSON object : View

Products Affected

rust-lang

  • cargo

fedoraproject

  • fedora
CWE
CWE-278

Insecure Preserved Inherited Permissions

CWE-732

Incorrect Permission Assignment for Critical Resource