Linux Distros のパッチ未適用の脆弱性: CVE-2024-29018

high Nessus プラグイン ID 227624

概要

Linux/Unix ホストには、ベンダーにより修正されていないことを示す脆弱性を持つ複数のパッケージがインストールされています。

説明

Linux/Unix ホストには、ベンダーが提供するパッチが利用できない脆弱性の影響を受ける複数のパッケージがインストールされています。

- Moby は、Docker Engine、Docker Desktop、およびその他のコンテナツールやランタイムのディストリビューションの主要コンポーネントであるオープンソースのコンテナフレームワークです。Moby のネットワーク実装では、それぞれ独自の IP アドレス範囲とゲートウェイを持つ多数のネットワークを定義できます。この機能は、各ネットワークが異なるドライバー、パラメーターセット、および動作を持つことができるため、カスタムネットワークと呼ばれることがよくあります。ネットワークを作成するとき、ネットワークを _internal_ として指定するために「--internal」フラグが使用されます。
docker-compose.yml ファイルの「internal」属性は、ネットワークを _internal_ としてマークするために使用される可能性があり、他の API クライアントも「internal」パラメーターを指定する可能性があります。ネットワークを持つコンテナが作成されると、一意のネットワークインターフェースと IP アドレスが割り当てられます。ホストは、コンテナ IP との間の SNAT/DNAT を提供するゲートウェイ IP とともに、非内部ネットワークのルーターとして機能します。内部ネットワーク上のコンテナは相互に通信できますが、ホストがアクセスできるネットワーク (LAN または WAN) とは通信できません。これは、デフォルトルートが設定されておらず、ファイヤーウォールルールがすべての送信トラフィックをドロップするように設定されているためです。ゲートウェイ IP アドレス (および適切に設定されたホストサービス) との通信が可能であり、ホストは任意のコンテナ IP と直接通信する可能性があります。「dockerd」は、Linux カーネルのさまざまなネットワーク機能を設定してコンテナネットワークを有効にすることに加えて、一部のサービスをコンテナネットワークに直接提供します。これらのうちの主要なものは、リゾルバーとして機能し、サービス検出を可能にし、上流のリゾルバーからの名前の解決を可能にすることです。コンテナに対応しない名前の DNS リクエストを受信すると、そのリクエストは設定済みの Upstream リゾルバーに転送されます。このリクエストは、コンテナのネットワーク名前空間から行われます。トラフィックのアクセスとルーティングのレベルは、リクエストがコンテナ自体によって行われた場合と同じです。この設計の結果として、内部ネットワークにのみ接続されているコンテナは、コンテナ自体がそのネームサーバーと通信できないため、上流リゾルバーを使用して名前を解決できません。
解決できるのは、内部ネットワークにもアタッチされているコンテナの名前のみです。多くのシステムは、ローカルの転送 DNS リゾルバーを実行します。ホストとコンテナには別々のループバックデバイスがあるため、上記の設計の結果、コンテナはホストの構成されたリゾルバーからの名前を解決できなくなり、ホストループバックデバイスでこれらのアドレスに到達できないためです。このギャップを埋め、ローカルのフォワーディングリゾルバーがループバックアドレスで使用されている場合でもコンテナが適切に名前を解決できるようにするために、「dockerd」はこのシナリオを検出し、代わりにホストネームワークの名前空間から DNS リクエストを転送します。その後、ループバックリゾルバーは、期待通りに、設定されたアップストリームリゾルバーにリクエストを転送します。「dockerd」は DNS リクエストをホストループバックデバイスに転送し、コンテナネットワークの名前空間の通常のルーティングセマンティクスを完全にバイパスするため、内部ネットワークが予期せずに DNS リクエストを外部ネームサーバーに転送する可能性があります。権限のあるネームサーバーをコントロールするドメインを登録することで、攻撃者は、侵害されたコンテナにデータを抽出させ、最終的にネームサーバーが応答するようにする DNS クエリでデータをエンコードする可能性があります。Docker Desktop は常に RFC 1918 アドレスで内部リゾルバーを実行するため、Docker Desktop は影響を受けません。Moby リリース 26.0.0、25.0.4、および 23.0.11 には、内部ネットワークからの DNS リクエストの転送を防ぐためのパッチが適用されています。回避策として、カスタムの Upstream アドレスを使用して内部ネットワークにのみアタッチするコンテナを実行してください。これにより、すべての Upstream DNS クエリがコンテナのネットワーク名前空間から解決されます。(CVE-2024-29018)

Nessus は、ベンダーによって報告されたパッケージの存在に依存していることに注意してください。

ソリューション

現時点で既知の解決策はありません。

参考資料

https://security-tracker.debian.org/tracker/CVE-2024-29018

https://ubuntu.com/security/CVE-2024-29018

プラグインの詳細

深刻度: High

ID: 227624

ファイル名: unpatched_CVE_2024_29018.nasl

バージョン: 1.3

タイプ: local

エージェント: unix

ファミリー: Misc.

公開日: 2025/3/5

更新日: 2025/8/27

サポートされているセンサー: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Frictionless Assessment Azure, Nessus Agent, Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 4.4

CVSS v2

リスクファクター: Low

基本値: 2.7

現状値: 2

ベクトル: CVSS2#AV:A/AC:L/Au:S/C:P/I:N/A:N

CVSS スコアのソース: CVE-2024-29018

CVSS v3

リスクファクター: High

基本値: 7.5

現状値: 6.5

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

現状ベクトル: CVSS:3.0/E:U/RL:O/RC:C

脆弱性情報

CPE: p-cpe:/a:debian:debian_linux:docker.io, cpe:/o:debian:debian_linux:11.0, cpe:/o:canonical:ubuntu_linux:22.04:-:lts, cpe:/o:canonical:ubuntu_linux:24.04:-:lts, p-cpe:/a:canonical:ubuntu_linux:docker.io-app, p-cpe:/a:canonical:ubuntu_linux:docker.io, cpe:/o:canonical:ubuntu_linux:20.04:-:lts, cpe:/o:debian:debian_linux:12.0

必要な KB アイテム: Host/OS/identifier, Host/cpu, Host/local_checks_enabled, global_settings/vendor_unpatched

エクスプロイトの容易さ: No known exploits are available

脆弱性公開日: 2024/3/19

参照情報

CVE: CVE-2024-29018