Amazon Linux 2: kernel(ALAS-2021-1685)

high Nessus プラグイン ID 151793

概要

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

説明

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

- Bluetooth Core Specification 2.1〜5.2 の Bluetooth LE および BR/EDR セキュアペアリングにより、近隣の中間攻撃者が、公開鍵の反映および開始デバイスの認証証拠により、(Passkey 認証手順の) ペアリング中に使用された Passkey を識別する可能性があります。このため、この攻撃者は、ペアリングセッションの正しいパスキーを使用して、応答デバイスとの認証されたペアリングを完了する可能性があります。この攻撃方法により、Passkey の値が一度に 1 ビットに決定されます。(CVE-2020-26558)

-BlueZ の不適切なアクセス制御により、認証されたユーザーが隣接アクセスを介した情報開示を可能にする可能性があります。(CVE-2021-0129)

- 5.11.11より以前のLinuxカーネルに問題が発見されました。netfilter サブシステムでは、net/netfilter/x_tables.c と include/linux/netfilter/x_tables.h が新しいテーブル値の割り当て時に完全なメモリバリアを欠いているため、攻撃者がサービス拒否 (パニック) を引き起こす可能性があります (別名 CID-175e476b8cdf)。
(CVE-2021-29650)

- 5.12.2 までの Linux カーネルの net/bluetooth/hci_request.c には競合状態があり、HCI コントローラーが除去されます。(CVE-2021-32399)

- 5.12.4より前の Linux カーネルのnet/bluetooth/hci_event.c には、hci_chan (別名CID-5c4c8c954409) を破壊する際のメモリ解放後使用 (Use-After-Free) があります。これは、任意の値の書き込みにつながります。(CVE-2021-33034)

- 5.12.13 より前の Linux カーネルの kernel/bpf/verifier.c において、ブランチが誤って予測される可能性があり (例: 型の取り違えによる)、権限のない BPF プログラムはサイドチャネル攻撃を介して任意のメモリロケーションを読み取る可能性があります (別名 CID-9183671af6db)。(CVE-2021-33624)

-ユーザーが悪意のあるHCI TTY Bluetoothデバイスをアタッチする際に、LinuxカーネルHCIデバイス初期化サブシステムに二重解放のメモリ破損の欠陥が見つかりました。ローカルユーザーがこの欠陥を使用して、システムをクラッシュする可能性があります。この欠陥は 3.13 から始まるすべての Linux カーネルバージョンに影響を与えます。(CVE-2021-3564)

- Linux カーネル HCI サブシステムの関数 hci_sock_bound_ioctl() のメモリ解放後使用 (Use After Free) が、ユーザーが ioct HCIUNBLOCKADDR を呼び出す方法、または hci_sock_blacklist_add()、hci_sock_blacklist_del()、hci_get_conn_info()、hci_get_auth_info() の呼び出しの 1 つとともに hci_unregister_dev() 呼び出しの競合状態をトリガーする方法で見つかりました。権限のあるローカルユーザーはこの欠陥を利用して、システムをクラッシュしたり、システム上で権限を昇格したりする可能性があります。この欠陥は、5.13-rc5 より前の Linux カーネルバージョンに影響を与えます。(CVE-2021-3573)

- Linux カーネルでは、次の脆弱性が解決されています。HID: usbhid: hid_submit_ctrl の情報漏洩を修正します。hid_submit_ctrl() では、レポートの長さ計算の方法に、report->size がゼロになる可能性が考慮されません。syzkaller 再生装置を実行している場合、サイズが 0 のレポートにより、hid_submit_ctrl) が transfer_buffer_length を 16384 として計算します。この urb が usb コアレイヤーに渡されると、KMSAN が 16384 バイトの情報漏洩を報告します。これを修正するには、まず hid_report_len() を修正し、除算に DIV_ROUND_UP を使用してレポートサイズがゼロの場合に対応させます。次にこれを hid_submit_ctrl() から呼び出します。(CVE-2021-46906)

- Linux カーネルでは、次の脆弱性が解決されています: dm rq: テーブルのロードが失敗した後の dev remove の blk_mq_tag_set の blk_mq_tag_set の二重解放を修正します。リクエストベースのマップされたデバイスの device-mapper テーブルをロードする際、デバイスの blk_mq_tag_set の割り当て / 初期が失敗し、続くデバイスの削除で二重解放が引き起こされます。例 (dmesg): device-mapper: core: リクエストベースの dm-mq でマップされたデバイスの device-mapper 用のキューを初期化できません: ioctl: 新しいテーブルのデバイスキューを設定できません。
仮想カーネルアドレス空間でカーネルポインターデリファレンスを処理できません。エラーが発生したアドレス:
0305e098835de000 TEID: 0305e098835de803。カーネル ASCE 使用中のホーム空間モードの障害。
AS:000000025efe0007 R3:0000000000000024 Oops: 0038 ilc:3 [#1] SMP Modules linked in: ... 多数のモジュール ... Supported: Yes, External CPU: 0 PID: 7348 Comm: multipathd Kdump: loaded Tainted: G W X 5.3.18-53-default #1 SLE15-SP3 Hardware name: IBM 8561 T01 7I2 (LPAR) Krnl PSW : 0704e00180000000 000000025e368eca (kfree+0x42/0x330) R:0 T:1 IO:1 EX:1 Key:0 M:1 W:0 P:0 AS:3 CC:2 PM:0 RI:0 EA:3 Krnl GPRS: 000000000000004a 000000025efe5230 c1773200d779968d 0000000000000000 000000025e520270 000000025e8d1b40 0000000000000003 00000007aae10000 000000025e5202a2 0000000000000001 c1773200d779968d 0305e098835de640 00000007a8170000 000003ff80138650 000000025e5202a2 000003e00396faa8 Krnl Code:
000000025e368eb8: c4180041e100 lgrl %r1,25eba50b8 000000025e368ebe: ecba06b93a55 risbg %r11,%r10,6,185,58 #000000025e368ec4: e3b010000008 ag %r11,0(%r1) >000000025e368eca: e310b0080004 lg %r1,8(%r11) 000000025e368ed0: a7110001 tmll %r1,1 000000025e368ed4: a7740129 brc 7,25e369126 000000025e368ed8:
e320b0080004 lg %r2,8(%r11) 000000025e368ede: b904001b lgr %r1,%r11 Call Trace: [<000000025e368eca>] kfree+0x42/0x330 [<000000025e5202a2>] blk_mq_free_tag_set+0x72/0xb8 [<000003ff801316a8>] dm_mq_cleanup_mapped_device+0x38/0x50 [dm_mod] [<000003ff80120082>] free_dev+0x52/0xd0 [dm_mod] [<000003ff801233f0>] __dm_destroy+0x150/0x1d0 [dm_mod] [<000003ff8012bb9a>] dev_remove+0x162/0x1c0 [dm_mod] [<000003ff8012a988>] ctl_ioctl+0x198/0x478 [dm_mod] [<000003ff8012ac8a>] dm_ctl_ioctl+0x22/0x38 [dm_mod] [<000000025e3b11ee>] ksys_ioctl+0xbe/0xe0 [<000000025e3b127a>] __s390x_sys_ioctl+0x2a/0x40 [<000000025e8c15ac>] system_call+0xd8/0x2c8 Last Breaking-Event-Address: [<000000025e52029c>] blk_mq_free_tag_set+0x6c/0xb8 Kernel panic - not syncing: Fatal exception: panic_on_oops。blk_mq_tag_set の割り当て / 初期化が dm_mq_init_request_queue() でエラーになったとき、初期化前の状態に戻され / 解放されますがポインタは NULL にリセットされません。それで、その後 dev_remove() が dm_mq_cleanup_mapped_device() に入っていくと、ポインタを見て再度初期化前の状態に戻し解放しようとします。dm_mq_init_request_queue() のエラー処理でポインターを NULL に設定することで、これを修正します。また、dm_mq_cleanup_mapped_device() で NULL に設定します。(CVE-2021-46938)

- Linux カーネルで、以下の脆弱性が解決されています: tracing: 決してブロックしないために、trace_clock_global() を再構築します。リングバッファ再帰検出の修正により、中断 / 再開テストを実行するときにマシンがハングアップすることが報告されています。次のバックトレースは、その場合のデバッグから抽出されました: Call Trace: trace_clock_global+0x91/0xa0 __rb_reserve_next+0x237/0x460 ring_buffer_lock_reserve+0x12a/0x3f0 trace_buffer_lock_reserve+0x10/0x50 __trace_graph_return+0x1f/0x80 trace_graph_return+0xb7/0xf0 ? trace_clock_global+0x91/0xa0 ftrace_return_to_handler+0x8b/0xf0 ? pv_hash+0xa0/0xa0 return_to_handler+0x15/0x30 ? ftrace_graph_caller+0xa0/0xa0 ? trace_clock_global+0x91/0xa0 ? __rb_reserve_next+0x237/0x460 ? ring_buffer_lock_reserve+0x12a/0x3f0 ? trace_event_buffer_lock_reserve+0x3c/0x120 ? trace_event_buffer_reserve+0x6b/0xc0 ? trace_event_raw_event_device_pm_callback_start+0x125/0x2d0 ? dpm_run_callback+0x3b/0xc0 ? pm_ops_is_empty+0x50/0x50 ? platform_get_irq_byname_optional+0x90/0x90 ? trace_device_pm_callback_start+0x82/0xd0 ? dpm_run_callback+0x49/0xc0 With the following RIP: RIP:
0010:native_queued_spin_lock_slowpath+0x69/0x200。再帰検出の修正により、トレース中に単一の再帰が発生する可能性があるため、trace_clock_global() がスピンロックを取得してから、再度取得しようとしてしまいます: ring_buffer_lock_reserve() { trace_clock_global() { arch_spin_lock() {queued_spin_lock_slowpath() { /* ロックがかかりました */ (他の何かが関数グラフトレーサーによってトレースされます) ring_buffer_lock_reserve() { trace_clock_global() { arch_spin_lock() { queued_spin_lock_slowpath() { /* デッドロック! */ トレースは「決して」ブロックすべきではありません。上記のような奇妙なロックアップを引き起こす可能性があるためです。trace_clock_global() コードを に再構成します。記録された prev_time を更新するために単にロックを取得する代わりに、単にそれを使用します。2 つの異なる CPU で発生する 2 つのイベントが同時にこれを呼び出すため、どちらが先に実行されるかは問題ではありません。trylock を使用して prev_time を更新するためのロックを取得します。失敗した場合は、次回再試行してください。取得に失敗した場合は、他の何かがすでに更新していることを意味します。Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=212761 (CVE-2021-46939)

- Linux カーネルで、以下の脆弱性が解決されています: md/raid1: 失敗した書き込みリクエストを終了する際に失敗を適切に表示。このパッチは、ビットマップを使用する raid1 配列のデータ破損バグに対処します。この修正がないと、失敗した I/O のビットマップビットがクリアされてしまいます。raid1_end_write_request の失敗レグにあるため、リクエストを再試行する (R1BIO_WriteError) か失敗する (R1BIO_Degraded) 必要があります。(CVE-2021-46950)

- Linux カーネルでは、次の脆弱性が解決されています。ACPI: GTDT: watchdow プローブエラーでは割り込みマッピングは破損されません。無効なファームウェアプロパティのためにドライバープローブが失敗する場合、GTDT ドライバーは、以前にマップした割り込みのマッピングを解除します。ただし、割り込みのマッピングが実際に成功したかどうかはチェックされません。さらに、GIC SGI 範囲と重複する不正な割り込み番号がファームウェアによって報告された場合、IPI のマッピングが解除され、Dann Frazier 氏による報告のとおり続いて fireworks が発生する可能性があります。ドライバーを修正して動作をわずかに正し、マッピング解除の前に割り込みがマッピングされているかどうかを実際にチェックします。(CVE-2021-46953)

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

ソリューション

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

参考資料

https://alas.aws.amazon.com/AL2/ALAS-2021-1685.html

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

https://alas.aws.amazon.com/cve/html/CVE-2020-26558.html

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

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

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

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

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

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

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

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

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

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

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

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

プラグインの詳細

深刻度: High

ID: 151793

ファイル名: al2_ALAS-2021-1685.nasl

バージョン: 1.9

タイプ: local

エージェント: unix

公開日: 2021/7/16

更新日: 2024/4/25

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: Medium

基本値: 6.9

現状値: 5.4

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

CVSS スコアのソース: CVE-2021-3573

CVSS v3

リスクファクター: High

基本値: 7.8

現状値: 7

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

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

CVSS スコアのソース: CVE-2021-46950

脆弱性情報

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

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

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

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

パッチ公開日: 2021/7/14

脆弱性公開日: 2021/3/30

参照情報

CVE: CVE-2020-26558, CVE-2021-0129, CVE-2021-29650, CVE-2021-32399, CVE-2021-33034, CVE-2021-33624, CVE-2021-3564, CVE-2021-3573, CVE-2021-46906, CVE-2021-46938, CVE-2021-46939, CVE-2021-46950, CVE-2021-46953

ALAS: 2021-1685