CVE-2024-45310 | runc can be confused to create empty files/directories on the host

runc is a CLI tool for spawning and running containers according to the OCI specification. runc 1.1.13 and earlier, as well as 1.2.0-rc2 and earlier, can be tricked into creating empty files or directories in arbitrary locations in the host filesystem by sharing a volume between two containers and exploiting a race with `os.MkdirAll`. While this could be used to create empty files, existing files would not be truncated. An attacker must have the ability to start containers using some kind of custom volume configuration. Containers using user namespaces are still affected, but the scope of places an attacker can create inodes can be significantly reduced. Sufficiently strict LSM policies (SELinux/Apparmor) can also in principle block this attack -- we suspect the industry standard SELinux policy may restrict this attack's scope but the exact scope of protection hasn't been analysed. This is exploitable using runc directly as well as through Docker and Kubernetes. The issue is fixed in runc v1.1.14 and v1.2.0-rc3. Some workarounds are available. Using user namespaces restricts this attack fairly significantly such that the attacker can only create inodes in directories that the remapped root user/group has write access to. Unless the root user is remapped to an actual user on the host (such as with rootless containers that don't use `/etc/sub[ug]id`), this in practice means that an attacker would only be able to create inodes in world-writable directories. A strict enough SELinux or AppArmor policy could in principle also restrict the scope if a specific label is applied to the runc runtime, though neither the extent to which the standard existing policies block this attack nor what exact policies are needed to sufficiently restrict this attack have been thoroughly tested.

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

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

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

CVE-2024-45310 の EPSS(Exploit Prediction Scoring System)スコア

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

# 日付 旧 EPSS スコア 新 EPSS スコア Δ(新 − 旧)
1 2026-06-15 0.15% 0.32% +0.17%
2 2026-05-26 0.14% 0.15% +0.01%
3 2026-04-07 0.14%

EPSS の全履歴 (全 11 件)

CVE-2024-45310 の CVSS(Common Vulnerability Scoring System)指標

この CVE の CVSS 指標。

ベーススコア バージョン 深刻度 ベクトル 悪用しやすさ 影響 スコアの出典
3.6 3.1 LOW
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:N クリックして展開
攻撃ベクター (AV:L)
対象ホスト上でコードを実行できること、または別ユーザーの誤操作・悪意ある操作が前提になる。
攻撃の複雑さ (AC:L)
攻撃者が条件を満たせば、レース条件や珍しい構成に依存せずに再現しやすい。
必要な権限 (PR:N)
事前のログインや昇格は不要で、匿名アクセスのまま踏み台にしうる。
ユーザーの関与 (UI:R)
インストールの許可、設定変更、悪意あるファイルの実行など、人の一度の判断がトリガーになる。
スコープ (S:C)
脆弱箇所を足がかりに、別コンポーネントや別権限域まで影響が広がりうる。
機密性への影響 (C:N)
機微情報の漏えいは想定しにくい。
完全性への影響 (I:L)
レコードの一部書き換えや設定の歪みなど、限定的だが検知・復旧が必要な水準。
可用性への影響 (A:N)
業務継続に支障が出るレベルの停止や劣化は想定されない。
1.8 1.4 [email protected]
3.6 3.1 LOW
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:N クリックして展開
攻撃ベクター (AV:L)
対象ホスト上でコードを実行できること、または別ユーザーの誤操作・悪意ある操作が前提になる。
攻撃の複雑さ (AC:L)
攻撃者が条件を満たせば、レース条件や珍しい構成に依存せずに再現しやすい。
必要な権限 (PR:N)
事前のログインや昇格は不要で、匿名アクセスのまま踏み台にしうる。
ユーザーの関与 (UI:R)
インストールの許可、設定変更、悪意あるファイルの実行など、人の一度の判断がトリガーになる。
スコープ (S:C)
脆弱箇所を足がかりに、別コンポーネントや別権限域まで影響が広がりうる。
機密性への影響 (C:N)
機微情報の漏えいは想定しにくい。
完全性への影響 (I:L)
レコードの一部書き換えや設定の歪みなど、限定的だが検知・復旧が必要な水準。
可用性への影響 (A:N)
業務継続に支障が出るレベルの停止や劣化は想定されない。
1.8 1.4 [email protected]

CVE-2024-45310 の弱点分類(列挙)

CVE-2024-45310 の GitHub Security Advisory

GHSA-jfvp-7x6p-h2pv · 深刻度: medium · エコシステム: go — runc can be confused to create empty files/directories on the host

CVE-2024-45310 の OS トラッカー

vendor priority summary link
alpine CVE-2024-45310: 1 source package rows (runc); 23 state rows across 4 repos (3.20-community, 3.21-community, 3.22-community, edge-community); fixed 4, open 19. https://security.alpinelinux.org/vuln/CVE-2024-45310
debian not yet assigned CVE-2024-45310 not yet assigned priority: Debian including 1 source packages (runc), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 3, open 2. https://security-tracker.debian.org/tracker/CVE-2024-45310
redhat low https://access.redhat.com/security/cve/CVE-2024-45310
suse low CVE-2024-45310 severity low: SUSE including 360 source package names (2.0.4-5.5.317:runc-1.2.6-150000.73.2, 2.1.3-6.31:runc-1.2.6-slfo.1.1_1.1, …), 895 product×package rows across 316 product lines (Container suse/sl-micro/6.0/baremetal-os-container, Container suse/sl-micro/6.1/baremetal-os-container, … (316 product lines)): Fixed 370, Known Not Affected 311, Known Affected 213, First Fixed 1. https://www.suse.com/security/cve/CVE-2024-45310/
ubuntu low CVE-2024-45310 low priority: Ubuntu including 2 source packages (runc, runc-app), 16 status rows across 9 suites (bionic, focal, jammy, noble, oracular, plucky, questing, upstream, xenial): needed 8, not-affected 4, ignored 2, released 2. https://ubuntu.com/security/CVE-2024-45310

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

ベンダー 製品 バージョン 生の CPE
linuxfoundation runc < 1.1.14 cpe:2.3:a:linuxfoundation:runc:*:*:*:*:*:*:*:*
linuxfoundation runc 1.2.0 cpe:2.3:a:linuxfoundation:runc:1.2.0:rc1:*:*:*:*:*:*
linuxfoundation runc 1.2.0 cpe:2.3:a:linuxfoundation:runc:1.2.0:rc2:*:*:*:*:*:*

CVE-2024-45310 の参考情報

cvelogic Threat Intelligence