Amazon Linux 2 : kernel (ALASKERNEL-5.10-2022-009)

high Nessus プラグイン ID 160451

概要

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

説明

リモートホストにインストールされているカーネルのバージョンは、5.10.93-87.444より前のものです。したがって、ALAS2KERNEL-5.10-2022-009 のアドバイザリに記載されている複数の脆弱性の影響を受けます。

- 不正なバックエンドにより、高頻度のイベントを介してゲストの DoS が引き起こされる可能性があります。この CNA 情報レコードは複数の CVE に関連しています。テキストは、どの側面 / 脆弱性がどの CVE に対応するかを説明します。Xen は、通常はドライバードメインと呼ばれる、権限のない通常のゲストで PV バックエンドを実行する機能を提供します。
ドライバードメインで PV バックエンドを実行することには、セキュリティ上の主な利点が 1 つあります。それは、ドライバードメインが侵害された場合、システムを乗っ取る権限がないことです。ただし、長い時間割り込みを処理しようとするため、悪意のあるドライバードメインが高頻度でイベントを送信することで他のゲストを攻撃し、サービス拒否を引き起こす可能性があります。影響がある 3 つのバックエンドがあります: * blkfront パッチ 1、CVE-2021-28711* netfront パッチ 2、CVE-2021-28712* hvc_xen (コンソール) パッチ 3、CVE-2021-28713 (CVE-2021-28711、CVE-2021-28712、CVE-2021-28713)

- ゲストは、Linux netback ドライバーに、大量のカーネルメモリを占有させることができます。この CNA 情報レコードは、複数の CVE に関連しています。テキストは、どの側面 / 脆弱性がどの CVE に対応するかを説明しています。Linux カーネルの netback ドライバーのゲストの受信データパケットは、ゲストがそれらを処理する準備ができるまでバッファリングされます。過剰なデータの蓄積を回避するための対策がいくつかありますが、ゲストによってバイパスされる可能性があります: インターフェースが停止したと見なされる前に、インターフェースのクライアント側が新しいパケットの消費を停止できる時間のタイムアウトがありますが、このタイムアウトはかなり長くなります (デフォルトでは 60 秒)。
高速インターフェースで UDP 接続を使用すると、その時間内に数ギガバイトのデータを簡単に蓄積できます。
(CVE-2021-28715) ゲストが RX キューリングページに 1 つだけの空きスロットを持つように管理し、次のパッケージに複数の空きスロットが必要な場合、タイムアウトがトリガーされないことさえあります。これは、GSO、XDP、またはソフトウェアハッシングを使用した場合に発生する可能性があります。(CVE-2021-28714) (CVE-2021-28714、CVE-2021-28715)

- infiniband を介した RDMA の Linux カーネルの実装に欠陥が見つかりました。権限のあるローカルアカウントを持つ攻撃者が、/dev/infiniband/rdma_cm デバイスノードにコマンドを発行する際に、カーネルスタック情報を漏洩する可能性があります。このアクセスがユーザーの機密情報を漏洩する可能性は低いですが、これをさらに利用して既存のカーネル保護メカニズムを無効にすることができます。(CVE-2021-3923)

- 関数 nsim_map_alloc_elem が呼び出されるように、ユーザーがデバイスに対して BPF を使用する方法にある、シミュレートされたネットワークデバイスドライバー用の Linux カーネルの eBPF に、メモリリークの脆弱性が見つかりました。ローカルユーザーがこの欠陥を利用して、一部のデータに不正アクセスする可能性があります。(CVE-2021-4135)

- XFS ファイルシステムの XFS_IOC_ALLOCSP IOCTL でサイズが調整されていないファイルのサイズ増加が可能な方法で、データ漏洩の欠陥が見つかりました。ローカルの攻撃者がこの欠陥を利用して、アクセスできない XFS ファイルシステムのデータを漏洩する可能性があります。(CVE-2021-4155)

- 5.15.2 までの Linux カーネルで、drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c の hw_atl_utils_fw_rpc_wait により、攻撃者 (細工されたデバイスを導入できる) が、細工された長さ値を介して領域外書き込みをトリガーすることが可能です。(CVE-2021-43975)

- Linux カーネルでは、次の脆弱性が解決されています。sctp: call_rcu を使用してエンドポイントを解放します。このパッチでは、call_rcu() を呼び出すことでエンドポイントの解放を遅らせ、sctp_sock_dump() 内の別の use-after-free の問題を修正します: BUG: KASAN: use-after-free in __lock_acquire+0x36d9/0x4c20 Call Trace:
__lock_acquire+0x36d9/0x4c20 kernel/locking/lockdep.c:3218 lock_acquire+0x1ed/0x520 kernel/locking/lockdep.c:3844 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:135 [inline]
_raw_spin_lock_bh+0x31/0x40 kernel/locking/spinlock.c:168 spin_lock_bh include/linux/spinlock.h:334 [inline] __lock_sock+0x203/0x350 net/core/sock.c:2253 lock_sock_nested+0xfe/0x120 net/core/sock.c:2774 lock_sock include/net/sock.h:1492 [inline] sctp_sock_dump+0x122/0xb20 net/sctp/diag.c:324 sctp_for_each_transport+0x2b5/0x370 net/sctp/socket.c:5091 sctp_diag_dump+0x3ac/0x660 net/sctp/diag.c:527
__inet_diag_dump+0xa8/0x140 net/ipv4/inet_diag.c:1049 inet_diag_dump+0x9b/0x110 net/ipv4/inet_diag.c:1065 netlink_dump+0x606/0x1080 net/netlink/af_netlink.c:2244 __netlink_dump_start+0x59a/0x7c0 net/netlink/af_netlink.c:2352 netlink_dump_start include/linux/netlink.h:216 [inline] inet_diag_handler_cmd+0x2ce/0x3f0 net/ipv4/inet_diag.c:1170 __sock_diag_cmd net/core/sock_diag.c:232 [inline] sock_diag_rcv_msg+0x31d/0x410 net/core/sock_diag.c:263 netlink_rcv_skb+0x172/0x440 net/netlink/af_netlink.c:2477 sock_diag_rcv+0x2a/0x40 net/core/sock_diag.c:274 この問題は、アソシエーションがピールオフされたときに発生し、旧 sk は asoc->base.sk による取得後、lock_sock(sk) の呼び出し前に解放されます。
sk ホルダーとして sk を解放することを防ぐには、lock_sock() を呼び出す際に ep を動作させておく必要があります。このパッチは、call_rcu() を使用し、sock_put と ep free を sctp_endpoint_destroy_rcu() に移動します。これにより、sctp_transport_traverse_process() の rcu_read_lock で ep を安全に保留できます。sctp_endpoint_hold() が true を返した場合、この ep がまだアクティブであり、保留していたもので、ダンプを続行できることを意味します。false を返した場合、この ep は無効であり、rcu_read_unlock の後に解放できるためスキップします。sctp_sock_dump() で sk をロックした後、この ep が tsp->asoc->ep と異なる場合は、ダンプ中に、この asoc が lock_sock() を呼び出す前にピールオフされており、sk をスキップする必要があることを意味します。この ep が tsp->asoc->ep と同じである場合、この asoc ではピールオフは発生せず、lock_sock により、今後も release_sock までピールオフが発生しないことを意味します。ポートの解放は call_rcu() を呼び出す前に sctp_endpoint_destroy() で発生するため、エンドポイントの解放を遅延させてもポートのリリースは遅延しません。また、call_rcu() によってエンドポイントを解放すると、sctp_assocs_seq_show() および sctp_rcv() の asoc->base.sk による sk へのアクセスが安全になります。
Jones 氏にこの問題の提起を感謝します。v1->v2: 変更ログを改善します。Jakub 氏が述べたとおり、kfree(ep) を sctp_endpoint_destroy_rcu() に追加します。(CVE-2021-46929)

- Linux カーネルで、次の脆弱性は解決されています。net/mlx5e: tx レポーターダンプコールバックをラップして sq を抽出します 関数 mlx5e_tx_reporter_dump_sq() が、void * 引数を struct mlx5e_txqsq * にキャストしますが、TX-timeout-recovery フローでは引数の実際のタイプは、struct mlx5e_tx_timeout_ctx * です。mlx5_core 0000:08:00.1 enp8s0f1:TX タイムアウトが検出されました mlx5_core 0000:08:00.1 enp8s0f1: キューの TX タイムアウト: 1, SQ: 0x11ec, CQ: 0x146d, SQ Cons: 0x0 SQ Prod: 0x1、最後のトランザクションからの usec: 21565000 バグ: スタックガードページが 0000000093f1a2de でヒットされました (スタックは 00000000b66ea0dc..000000004d932dae) カーネルスタックオーバーフロー (ページ障害): 0000 [#1] SMP NOPTI CPU: 5 PID: 95 Comm: kworker/u20:1 Tainted: G W OE 5.13.0_mlnx #1 ハードウェア名: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.13.0-0-gf21b5a4aeb02-prebuilt.qemu.org 04/01/2014 Workqueue: mlx5e mlx5e_tx_timeout_work [mlx5_core] RIP: 0010:mlx5e_tx_reporter_dump_sq+0xd3/0x180 [mlx5_core] 呼び出しトレース:
mlx5e_tx_reporter_dump+0x43/0x1c0 [mlx5_core] devlink_health_do_dump.part.91+0x71/0xd0 devlink_health_report+0x157/0x1b0 mlx5e_reporter_tx_timeout+0xb9/0xf0 [mlx5_core] ? mlx5e_tx_reporter_err_cqe_recover+0x1d0/0x1d0 [mlx5_core] ? mlx5e_health_queue_dump+0xd0/0xd0 [mlx5_core] ? update_load_avg+0x19b/0x550 ? set_next_entity+0x72/0x80 ? pick_next_task_fair+0x227/0x340 ? finish_task_switch+0xa2/0x280 mlx5e_tx_timeout_work+0x83/0xb0 [mlx5_core] process_one_work+0x1de/0x3a0 worker_thread+0x2d/0x3c0 ? process_one_work+0x3a0/0x3a0 kthread+0x115/0x130 ? kthread_park+0x90/0x90 ret_from_fork+0x1f/0x30 --[ end trace 51ccabea504edaff ]--- RIP: 0010:mlx5e_tx_reporter_dump_sq+0xd3/0x180 PKRU: 55555554 カーネルパニック - 同期していません: 致命的な例外 カーネルオフセット: 無効 カーネルパニックの終了: 同期していません: 致命的な例外 このバグを修正するには、mlx5e_tx_reporter_dump_sq() のラッパーを追加します。これは、struct mlx5e_tx_timeout_ctx から sq を抽出し、それを TX-timeout-recovery フローダンプコールバックとして設定します。
(CVE-2021-46931)

- Linux カーネルでは、次の脆弱性が解決されています。i2c: compat ioctl でユーザーデータを検証します。ユーザーデータに誤りがあると、i2c_transfer() で警告が発生することがあります (例: ゼロ msgs など)。ユーザー空間は警告をトリガーできないため、このパッチで compact ioctl でユーザーデータの検証チェックを追加し、報告された警告を回避します (CVE-2021-46934)

- Linux カーネルで、以下の脆弱性が解決されています。net: tw_timer_handler のメモリ解放後使用 (Use After Free) を修正します。Linux 5.4 で次のような現実のパニック問題が見つかりました。バグ: 次のアドレスのページ障害を処理できません: ffffde49a863de28 PGD 7e6fe62067 P4D 7e6fe62067 PUD 7e6fe63067 PMD f51e064067 PTE 0 RIP:
0010:tw_timer_handler+0x20/0x40 呼び出しトレース: <IRQ> call_timer_fn+0x2b/0x120 run_timer_softirq+0x1ef/0x450
__do_softirq+0x10d/0x2b8 irq_exit+0xc7/0xd0 smp_apic_timer_interrupt+0x68/0x120 apic_timer_interrupt+0xf/0x20 この問題は 2017 年以降もスレッド [1] に報告されましたが、残念ながら DCCP の修正後もこの問題は再現される可能性があります。tcp_sk_ops が ipv4_mib_ops の前に登録されているため、ネットの名前空間が破壊されると、tcp_sk_exit_batch の前に ipv4_mib_exit_net が呼び出されます。これは、tcp_sk_ops が pernet_list のリストで ipv4_mib_ops の前にあることを意味します。いくつかの inflight time-wait タイマーが存在する場合、ipv4_mib_exit_net の後に tw_timer_handler の net->mib.net_statistics でメモリ解放後使用 (Use After Free) が起こります。このバグは、コミット f2bf415cfed7 (mib: NET_ADD_STATS_BH に net を追加) では発生しません。これは、net_statistics が、動的な割り当てと解放ではなくグローバル変数であるためです。実際、コミット 61a7e26028b9 (mib: put netstatistics on struct net) は、net 構造体に net 統計を置き、net 名前空間が破壊されると解放するため、バグを導入します。init_ipv4_mibs() を tcp_init() の前面に移動してこのバグを修正し、pr_crit() を panic() に置き換えます。これは、init_ipv4_mibs() が失敗した場合、続行しても意味がないためです。[1] https://groups.google.com/g/syzkaller/c/p1tn-_Kc6l4/m/smuL_FMAAgAJ?pli=1 (CVE-2021-46936)

- Linuxカーネルの Filesystem Context 機能の legacy_parse_param 関数が、指定されたパラメーターの長さを検証する方法に、ヒープベースのバッファオーバーフローの欠陥が見つかりました。権限のない (権限のないユーザーの名前空間が有効化な場合は、名前空間の CAP_SYS_ADMIN 権限が必要) のローカルユーザーが、Filesystem Context API をサポートしていない (したがって従来の処理にフォールバックする) ファイルシステムを開くことができると、この欠陥を利用してシステム上の特権を昇格させる可能性があります。(CVE-2022-0185)

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

ソリューション

「yum update kernel」を実行してシステムを更新してください。

参考資料

https://alas.aws.amazon.com/AL2/ALASKERNEL-5.10-2022-009.html

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

https://alas.aws.amazon.com/cve/html/CVE-2021-4135.html

https://alas.aws.amazon.com/cve/html/CVE-2021-4155.html

https://alas.aws.amazon.com/cve/html/CVE-2021-28711.html

https://alas.aws.amazon.com/cve/html/CVE-2021-28712.html

https://alas.aws.amazon.com/cve/html/CVE-2021-28713.html

https://alas.aws.amazon.com/cve/html/CVE-2021-28714.html

https://alas.aws.amazon.com/cve/html/CVE-2021-28715.html

https://alas.aws.amazon.com/cve/html/CVE-2021-3923.html

https://alas.aws.amazon.com/cve/html/CVE-2021-43975.html

https://alas.aws.amazon.com/cve/html/CVE-2021-46929.html

https://alas.aws.amazon.com/cve/html/CVE-2021-46931.html

https://alas.aws.amazon.com/cve/html/CVE-2021-46934.html

https://alas.aws.amazon.com/cve/html/CVE-2021-46936.html

https://alas.aws.amazon.com/cve/html/CVE-2022-0185.html

プラグインの詳細

深刻度: High

ID: 160451

ファイル名: al2_ALASKERNEL-5_10-2022-009.nasl

バージョン: 1.9

タイプ: local

エージェント: unix

公開日: 2022/5/2

更新日: 2024/4/26

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

リスク情報

VPR

リスクファクター: High

スコア: 7.4

CVSS v2

リスクファクター: High

基本値: 7.2

現状値: 6

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

CVSS スコアのソース: CVE-2022-0185

CVSS v3

リスクファクター: High

基本値: 8.4

現状値: 7.8

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

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

脆弱性情報

CPE: p-cpe:/a:amazon:linux:bpftool, p-cpe:/a:amazon:linux:bpftool-debuginfo, p-cpe:/a:amazon:linux:kernel, p-cpe:/a:amazon:linux:kernel-debuginfo, p-cpe:/a:amazon:linux:kernel-debuginfo-common-aarch64, p-cpe:/a:amazon:linux:kernel-debuginfo-common-x86_64, p-cpe:/a:amazon:linux:kernel-devel, p-cpe:/a:amazon:linux:kernel-headers, p-cpe:/a:amazon:linux:kernel-livepatch-5.10.93-87.444, p-cpe:/a:amazon:linux:kernel-tools, p-cpe:/a:amazon:linux:kernel-tools-debuginfo, p-cpe:/a:amazon:linux:kernel-tools-devel, p-cpe:/a:amazon:linux:perf, p-cpe:/a:amazon:linux:perf-debuginfo, p-cpe:/a:amazon:linux:python-perf, p-cpe:/a:amazon:linux:python-perf-debuginfo, cpe:/o:amazon:linux:2

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

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

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

パッチ公開日: 2022/1/26

脆弱性公開日: 2021/1/11

エクスプロイト可能

Core Impact

参照情報

CVE: CVE-2021-28711, CVE-2021-28712, CVE-2021-28713, CVE-2021-28714, CVE-2021-28715, CVE-2021-3923, CVE-2021-4135, CVE-2021-4155, CVE-2021-43975, CVE-2021-46929, CVE-2021-46931, CVE-2021-46934, CVE-2021-46936, CVE-2022-0185