CVE-2022-36113 | Extracting malicious crates can corrupt arbitrary files

Cargo is a package manager for the rust programming language. After a package is downloaded, Cargo extracts its source code in the ~/.cargo folder on disk, making it available to the Rust projects it builds. To record when an extraction is successful, Cargo writes "ok" to the .cargo-ok file at the root of the extracted source code once it extracted all the files. It was discovered that Cargo allowed packages to contain a .cargo-ok symbolic link, which Cargo would extract. Then, when Cargo attempted to write "ok" into .cargo-ok, it would actually replace the first two bytes of the file the symlink pointed to with ok. This would allow an attacker to corrupt one file on the machine using Cargo to extract the package. Note that by design Cargo allows code execution at build time, due to build scripts and procedural macros. The vulnerabilities in this advisory allow performing a subset of the possible damage in a harder to track down way. Your dependencies must still be trusted if you want to be protected from attacks, as it's possible to perform the same attacks with build scripts and procedural macros. The vulnerability is present in all versions of Cargo. Rust 1.64, to be released on September 22nd, will include a fix for it. Since the vulnerability is just a more limited way to accomplish what a malicious build scripts or procedural macros can do, we decided not to publish Rust point releases backporting the security fix. Patch files are available for Rust 1.63.0 are available in the wg-security-response repository for people building their own toolchain. Mitigations We recommend users of alternate registries to exercise care in which package they download, by only including trusted dependencies in their projects. Please note that even with these vulnerabilities fixed, by design Cargo allows arbitrary code execution at build time thanks to build scripts and procedural macros: a malicious dependency will be able to cause damage regardless of these vulnerabilities. crates.io implemented server-side checks to reject these kinds of packages years ago, and there are no packages on crates.io exploiting these vulnerabilities. crates.io users still need to exercise care in choosing their dependencies though, as remote code execution is allowed by design there as well.

公開: 2022-09-14 最終更新: 2026-06-17 Assigner: [email protected] ソース: [email protected]

総合評価: CVE-2022-36113 は低リスク(39.1/100)。CVSS 深刻度は中。悪用される可能性が高い(EPSS 1.00%、59 パーセンタイル) 推奨対応: 悪用情報と EPSS の推移を監視し、必要に応じて優先度を見直してください。

リスクは変動します。再評価に基づき、本ページの表示内容を更新しています。

CVE-2022-36113 の EPSS(Exploit Prediction Scoring System)スコア

EPSS は日次で悪用されやすさの相対度合いを推定します。パーセンタイルは採点済み CVE の中での相対位置(高いほど相対的に深刻)を示します。

# 日付 旧 EPSS スコア 新 EPSS スコア Δ(新 − 旧)
1 2026-06-25 0.82% 1.00% +0.19%
2 2026-06-15 8.94% 0.82% -8.12%
3 2026-02-24 8.94%

EPSS の全履歴 (全 35 件)

CVE-2022-36113 の CVSS(Common Vulnerability Scoring System)指標

この CVE の CVSS 指標。

ベーススコア バージョン 深刻度 ベクトル 悪用しやすさ 影響 スコアの出典
4.6 3.1 MEDIUM
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L クリックして展開
攻撃ベクター (AV:N)
インターネットなど、ルーティングされたネットワーク越しに遠隔から悪用しうる。端末の前にいる必要はない。
攻撃の複雑さ (AC:H)
到達できても、タイミング・負荷・周辺設定など、揃わないと成功しない局面が多い。
必要な権限 (PR:L)
一般ユーザー権限があれば足り、管理者(root 相当)は不要。
ユーザーの関与 (UI:R)
インストールの許可、設定変更、悪意あるファイルの実行など、人の一度の判断がトリガーになる。
スコープ (S:U)
影響は脆弱コンポーネントと同一のセキュリティ権限・信頼境界の内側に収まる。
機密性への影響 (C:L)
一部のデータや属性が漏えいしうるが、全件一括流出といった規模には至らない。
完全性への影響 (I:L)
レコードの一部書き換えや設定の歪みなど、限定的だが検知・復旧が必要な水準。
可用性への影響 (A:L)
遅延や一部機能の停止、断続的な障害など、運用で吸収しうる範囲。
1.2 3.4 [email protected]
8.1 3.1 HIGH
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:H クリックして展開
攻撃ベクター (AV:N)
インターネットなど、ルーティングされたネットワーク越しに遠隔から悪用しうる。端末の前にいる必要はない。
攻撃の複雑さ (AC:L)
攻撃者が条件を満たせば、レース条件や珍しい構成に依存せずに再現しやすい。
必要な権限 (PR:N)
事前のログインや昇格は不要で、匿名アクセスのまま踏み台にしうる。
ユーザーの関与 (UI:R)
インストールの許可、設定変更、悪意あるファイルの実行など、人の一度の判断がトリガーになる。
スコープ (S:U)
影響は脆弱コンポーネントと同一のセキュリティ権限・信頼境界の内側に収まる。
機密性への影響 (C:N)
機微情報の漏えいは想定しにくい。
完全性への影響 (I:H)
権限の奪取や広範なログ改竄など、システムの信頼根拠を揺るがす改ざんが現実的。
可用性への影響 (A:H)
長時間のサービス停止、データ損壊による復旧不能に近い状態など、利用者に著しい不便を与えうる。
2.8 5.2 [email protected]

CVE-2022-36113 の弱点分類(列挙)

CVE-2022-36113 の GitHub Security Advisory

GHSA-rfj2-q3h3-hm5j · 深刻度: low · エコシステム: rust — Cargo extracting malicious crates can corrupt arbitrary files

CVE-2022-36113 の OS トラッカー

vendor priority summary link
debian not yet assigned CVE-2022-36113 not yet assigned priority: Debian including 2 source packages (cargo, rust-cargo), 7 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 5, open 2. https://security-tracker.debian.org/tracker/CVE-2022-36113
gentoo normal CVE-2022-36113: 1 GLSA(s) (202210-09), 2 atom(s) (dev-lang/rust, dev-lang/rust-bin); latest impact normal. https://bugs.gentoo.org/buglist.cgi?quicksearch=CVE-2022-36113
suse medium CVE-2022-36113 severity moderate: SUSE including 18 source package names (1.62:cargo1.62-1.62.1-150300.7.7.1, 1.62:rust1.62-1.62.1-150300.7.7.1, …), 139 product×package rows across 30 product lines (Container bci/rust, SUSE CaaS Platform 4.0, … (30 product lines)): Known Not Affected 117, Fixed 22. https://www.suse.com/security/cve/CVE-2022-36113/
ubuntu low CVE-2022-36113 low priority: Ubuntu including 1 source packages (cargo), 13 status rows across 13 suites (bionic, focal, jammy, kinetic, lunar, mantic, noble, oracular, plucky, questing, trusty, upstream, xenial): DNE 5, released 3, ignored 2, needed 2, needs-triage 1. https://ubuntu.com/security/CVE-2022-36113

CVE-2022-36113 の影響を受けるソフトウェア/構成

ベンダー 製品 バージョン 生の CPE
rust-lang cargo < 0.65.0 cpe:2.3:a:rust-lang:cargo:*:*:*:*:*:rust:*:*

CVE-2022-36113 の参考情報

cvelogic Threat Intelligence