概要
リモートの Amazon Linux 2023 ホストに、セキュリティ更新プログラムがありません。
説明
したがって、ALAS2023-2023-344 のアドバイザリに記載されている複数の脆弱性の影響を受けます。
WAmtime は、WebAssembly 用のスタンドアロンランタイムです。バージョン 6.0.2、7.0.1、および 8.0.1 より前では、テーブルやメモリなどのインスタンスごとの状態を管理する Wasmtime の実装には、LLVM レベルの未定義の動作が含まれています。LLVM 16 でコンパイルすると、この未定義の動作がランタイムレベルの問題を引き起こすことがわかりました。これにより、正確性にとって重要な一部の書き込みが最適化されて削除されます。現在ベータ版である Rust 1.70 以降でコンパイルされた Wasmtime の脆弱なバージョンは、関数を不適切にコンパイルすることが知られています。現在の Rust 安定版 (stable) リリース、1.69 以前でコンパイルされた Wasmtime のバージョンは、現時点では問題がないことが確認されていますが、理論上は潜在的な問題を引き起こす可能性があります。
根本的な問題は、インスタンスに対する Wasmtime のランタイム状態が、[Instance] と呼ばれる Rust 定義の構造を含み、その後に [VMContext] 構造が末尾にあることです。この [VMContext] 構造には、モジュールごとに一意のランタイム定義のレイアウトがあります。この表現は Rust の安全なコードで表現できないため、この状態を維持するには [unsafe] コードが必要です。ただし、これを行うコードには、[&self] を引数として受け取りますが、割り当ての [VMContext] 部分のデータを変更するメソッドがあります。これは、[&self] から派生したポインターが変更されることを意味します。これは通常、Rust に [UnsafeCell] が存在する場合を除いて許可されません。LLVM にコンパイルされると、これらの関数には [noalias readonly] パラメーターを持ちます。これは、ポインターを通して書き込むのが UB であることを意味します。
[VMContext] の Wasmtime の内部表現および管理は、必要に応じて [&mut self] メソッドを使用するように更新されました。さらに、[cargo miri] などの Rust の [unsafe] コードに対する検証ツールが、[main] ブランチでまもなく実行され、将来のコンパイラバージョンで悪用される可能性のある Rust レベルの問題を修正する予定です。
GitHub リリースから利用可能な、Wasmtime 用の事前コンパイル済みバイナリは、最大で LLVM 15 でコンパイルされているため、脆弱性があることは知られていません。ただし、上記のとおり、更新することをお勧めします。
Wasmtime バージョン 6.0.2、7.0.1、および 8.0.1 が発行されています。これには、LLVM 16 で正しく動作するために必要なパッチが含まれています。LLVM 15 以前では、既知の UB はありません。Wasmtime が LLVM 15 を使用する Rust 1.69 以前でコンパイルされている場合、既知の問題はありません。ただし、理論的には定義されていない動作が悪用される可能性があるため、ユーザーは Wasmtime のパッチを適用したバージョンにアップグレードすることが推奨されます。ベータ版の Rust (1.70 現時点で) またはナイトリー Rust (1.71 現時点で) を使用しているユーザーは、正しく動作させるために、パッチを適用したバージョンに更新する必要があります。(CVE-2023-30624)
c-ares をクロスコンパイルし、autotools ビルドシステムを使用する場合、aarch64 android をクロスコンパイルする際に見られるように、CARES_RANDOM_FILE が設定されません。これにより、rand() をフォールバックとして使用するようにダウングレードされます。これにより、攻撃者が CSPRNG を使用せずにエントロピーの欠如を利用できる可能性があります。CVE-2023-31124
ares_inet_net_pton() は、特定の ipv6 アドレスのバッファアンダーフローに脆弱です。特に 0::00:00:00/2 が問題を引き起こすことが判明しました。C-ares は、設定の目的で内部的にのみこの関数を使用します。そのため、管理者は ares_set_sortlist() を介してこのようなアドレスを設定する必要があります。
ただし、ユーザーは他の目的でares_inet_net_pton()を外部で使用する可能性があるため、より深刻な問題に脆弱である可能性があります。CVE-2023-31130
DNS クエリ ID の生成における不十分なランダム性
/dev/urandom または RtlGenRandom() が使用できない場合、c-ares は rand() を使用して DNS クエリ ID に使用する乱数を生成します。これは CSPRNG ではなく、また srand() によってシードされないため、予測可能な出力を生成します。乱数発生器からの入力は、非準拠 RC4 実装に供給され、オリジナルの RC4 実装ほど強くない可能性があります。広く利用されている arc4random() のような最新の OS 提供の CSPRNG を探す試みは行われません。(CVE-2023-31147)
サービス拒否。
攻撃ステップ:
ターゲットリゾルバーがクエリを送信します攻撃者は長さがゼロの不正な形式のUDPパケットを偽造し、ターゲットリゾルバーに返しますターゲットリゾルバーは、長さが0であることを接続の正常なシャットダウンと誤って解釈します。これは TCP 接続でのみ有効で、UDP は接続レスです現在の解決は失敗します、DoS 攻撃が発生します。CVE-2023-32067
Tenable は、前述の記述ブロックをテスト済み製品のセキュリティアドバイザリから直接抽出しています。
Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。
ソリューション
「dnf update ecs-service-connect-agent --releasever 2023.2.20230920」または「dnf update --advisory ALAS2023-2023-344 --releasever 2023.2.20230920」を実行して、お使いのシステムを更新してください。
プラグインの詳細
ファイル名: al2023_ALAS2023-2023-344.nasl
エージェント: unix
サポートされているセンサー: Frictionless Assessment AWS, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Continuous Assessment, Nessus
リスク情報
ベクトル: CVSS2#AV:N/AC:L/Au:S/C:C/I:C/A:C
ベクトル: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
現状ベクトル: CVSS:3.0/E:U/RL:O/RC:C
脆弱性情報
CPE: p-cpe:/a:amazon:linux:ecs-service-connect-agent, cpe:/o:amazon:linux:2023
必要な KB アイテム: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list
エクスプロイトの容易さ: No known exploits are available