Amazon Linux 2 : ecs-service-connect-agent (ALASECS-2023-007)

critical Nessus プラグイン ID 182066

概要

リモートの Amazon Linux 2 ホストに、セキュリティ更新プログラムがありません。

説明

リモートホストにインストールされている ecs-service-connect-agent のバージョンは、v1.27.0.0-1 より前です。したがって、ALAS2ECS-2023-007 のアドバイザリに記載されている複数の脆弱性の影響を受けます。

- Wasmtime は、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 は、非同期リゾルバーライブラリです。c-ares をクロスコンパイルし、autotools ビルドシステムを使用する場合、aarch64 android をクロスコンパイルする際に見られるように、CARES_RANDOM_FILE が設定されません。これにより、rand() をフォールバックとして使用するようにダウングレードされるため、攻撃者は、CSPRNG を使用しないことで、エントロピーの欠如を利用できる可能性があります。この問題には、バージョン 1.19.1でパッチが適用されていました。(CVE-2023-31124)

- c-ares は、非同期リゾルバーライブラリです。ares_inet_net_pton() には、特定の ipv6 アドレスに対するバッファアンダーフローの脆弱性があり、特に 0: : 00: 00: 00/2 が問題を引き起こすことが判明しました。C-ares は、設定の目的で内部的にのみこの関数を使用します。そのため、管理者は ares_set_sortlist() を介してこのようなアドレスを設定する必要があります。ただし、ユーザーは外部で ares_inet_net_pton() を別の目的で使用することで、より深刻な問題が発生する可能性があります。この問題は 1.19.1で修正されました。(CVE-2023-31130)

- c-ares は、非同期リゾルバーライブラリです。/dev/urandom または RtlGenRandom() が使用できない場合、c-ares は rand() を使用して DNS クエリ ID に使用する乱数を生成します。これは CSPRNG ではなく、また srand() によってシードされないため、予測可能な出力を生成します。乱数発生器からの入力は、非準拠 RC4 実装に供給され、オリジナルの RC4 実装ほど強くない可能性があります。広く利用されている arc4random() のような最新の OS 提供の CSPRNG を探す試みは行われません。この問題はバージョン 1.19.1で修正されています。(CVE-2023-31147)

- c-ares は、非同期リゾルバーライブラリです。c-ares は、サービス拒否に対して脆弱です。ターゲットリゾルバーがクエリを送信する場合、攻撃者は長さが 0 の無効な形式の UDP パケットを偽造し、ターゲットリゾルバーに返します。ターゲットリゾルバーは、長さ 0 を接続の正常なシャットダウンと誤って解釈します。この問題には、バージョン 1.19.1でパッチが適用されています。(CVE-2023-32067)

- Envoy は、クラウドネイティブなアプリケーション用に設計されたオープンソースのエッジおよびサービスプロキシです。1.27.0、1.26.4、1.25.9、1.24.10 および 1.23.12 より前のバージョンでは、悪意のあるクライアントが、一部の特定のシナリオで、永続的に有効な認証情報を構築することが可能です。これは、OAuth2 フィルターのチェックで HMAC ペイロードが常に有効な場合に引き起こされる、いくつかのごく稀なシナリオが原因で発生します。バージョン 1.27.0、1.26.4、1.25.9、1.24.10 および 1.23.12 には、この問題の修正が含まれています。回避策として、ホストのドメイン設定でワイルドカードや、プレフィックスドメインワイルドカードの使用を避けてください。(CVE-2023-35941)

- Envoy は、クラウドネイティブなアプリケーション用に設計されたオープンソースのエッジおよびサービスプロキシです。バージョン 1.27.0、1.26.4、1.25.9、1.24.10 および 1.23.12 より前では、リスナーのグローバルスコープを使用する gRPC アクセスロガーは、リスナーがドレインされる際に「メモリ解放後使用 (use-after-free)」クラッシュを引き起こす可能性があります。バージョン 1.27.0、1.26.4、1.25.9、1.24.10 および 1.23.12 には、この問題の修正が含まれています。回避策として、gRPC アクセスログを無効にするか、リスナーの更新を停止してください。
(CVE-2023-35942)

- Envoy は、クラウドネイティブなアプリケーション用に設計されたオープンソースのエッジおよびサービスプロキシです。バージョン 1.27.0、1.26.4、1.25.9、1.24.10 および 1.23.12 より前では、「origin」ヘッダーが、「decodeHeaders」と「encodeHeaders」の間で削除されると、CORS フィルターはセグメンテーション違反を引き起こし、Envoy をクラッシュさせる可能性があります。バージョン 1.27.0、1.26.4、1.25.9、1.24.10 および 1.23.12 には、この問題の修正が含まれています。回避策として、Envoy の設定で「origin」ヘッダーを削除しないでください。(CVE-2023-35943)

- Envoy は、クラウドネイティブなアプリケーション用に設計されたオープンソースのエッジおよびサービスプロキシです。Envoy では、HTTP/2 で大文字と小文字を混合したスキーマが許可されていますが、一部の内部スキーマチェックでは大文字と小文字が区別されます。バージョン 1.27.0、1.26.4、1.25.9、1.24.10、1.23.12 より前では、これにより、「htTp」や「htTps」などの大文字と小文字が混在するスキームをもつリクエストが拒否されたり、暗号化されていない接続の「https」のような一部のリクエストがバイパスされる可能性があります。
バージョン 1.27.0、1.26.4、1.25.9、1.24.10、1.23.12 の修正により、Envoy はデフォルトでスキーマ値を小文字に変換し、大文字と小文字を区別していた内部スキーマチェックを区別しないよう変更されました。
この問題についての既知の回避策はありません。(CVE-2023-35944)

Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。

ソリューション

「yum update ecs-service-connect-agent」を実行してシステムを更新してください。

参考資料

https://alas.aws.amazon.com/AL2/ALASECS-2023-007.html

https://alas.aws.amazon.com/cve/html/CVE-2023-30624.html

https://alas.aws.amazon.com/cve/html/CVE-2023-31124.html

https://alas.aws.amazon.com/cve/html/CVE-2023-31130.html

https://alas.aws.amazon.com/cve/html/CVE-2023-31147.html

https://alas.aws.amazon.com/cve/html/CVE-2023-32067.html

https://alas.aws.amazon.com/cve/html/CVE-2023-35941.html

https://alas.aws.amazon.com/cve/html/CVE-2023-35942.html

https://alas.aws.amazon.com/cve/html/CVE-2023-35943.html

https://alas.aws.amazon.com/cve/html/CVE-2023-35944.html

https://alas.aws.amazon.com/faqs.html

プラグインの詳細

深刻度: Critical

ID: 182066

ファイル名: al2_ALASECS-2023-007.nasl

バージョン: 1.1

タイプ: local

エージェント: unix

公開日: 2023/9/27

更新日: 2023/9/28

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: Critical

基本値: 10

現状値: 7.8

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

CVSS スコアのソース: CVE-2023-35941

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 8.8

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

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

脆弱性情報

CPE: p-cpe:/a:amazon:linux:ecs-service-connect-agent, cpe:/o:amazon:linux:2

必要な KB アイテム: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list

エクスプロイトが利用可能: true

エクスプロイトの容易さ: Exploits are available

パッチ公開日: 2023/9/14

脆弱性公開日: 2023/4/27

参照情報

CVE: CVE-2023-30624, CVE-2023-31124, CVE-2023-31130, CVE-2023-31147, CVE-2023-32067, CVE-2023-35941, CVE-2023-35942, CVE-2023-35943, CVE-2023-35944