Ubuntu 16.04LTS / 18.04LTS: Linux カーネル脆弱性 (USN-4115-1)

critical Nessus プラグイン ID 128475

概要

リモート Ubuntu ホストに 1 つ以上のセキュリティ更新がありません。

説明

リモートの Ubuntu 16.04 LTS / 18.04 LTS ホストには、USN-4115-1 のアドバイザリに記載された複数の脆弱性の影響を受けるパッケージがインストールされています。

-4.19.8までのLinuxカーネルのdrivers/net/usb/hso.c read if_num内のhso_get_config_data関数が、USBデバイス (u8) からif_numを読み取り、これを使用して小さな配列をインデックス付けした結果、オブジェクトの領域外 (OOB) 読み取りが発生します。これによってカーネルアドレス空間で任意の読み取りが発生する可能性があります。(CVE-2018-19985)

-4.20.2より前の Linux カーネルでは、kernel/sched/fair.cがcfs_rqリーフを誤って処理します。これにより、攻撃者が、高負荷を誘発することで、詳細不明なその他の影響を与える可能性があります。(CVE-2018-20784)

- バージョン 21.10より前の Intel(R) PROSet/Wireless WiFi ソフトウェアドライバーの不十分なアクセスコントロールにより、認証されていないユーザーが、隣接するアクセスを介してサービス拒否を引き起こす可能性があります。(CVE-2019-0136)

- 4.18.0 より前の 3.x.x のカーネルおよびカーネル 5.x.x のすべてのバージョンの UART の Linux カーネルの Bluetooth の実装に欠陥が見つかりました。Bluetoothハードウェアへのローカルアクセスおよび書き込み権限を持つ攻撃者がこの欠陥を悪用して、特別に細工されたioctl関数呼び出しを発行し、システムをクラッシュさせる可能性があります。
(CVE-2019-10207)

- 5.1.7 より前の Linux カーネルでは、攻撃者がコネクションレスプロトコルに対してカーネルが生成した IP ID 値 (UDP や ICMP など) を使用して、デバイスを追跡する可能性があります。このようなトラフィックが複数の宛先 IP アドレスに送信されると、(カウンター配列に対するインデックスの) ハッシュ衝突を取得し、それによって (列挙を介して) ハッシングキーを取得することが可能です。攻撃者が制御するIPアドレスにUDPトラフィックを強制するWebRTCまたはgQUICを使用する細工されたWebページをホストすることにより、攻撃が行われる可能性があります。(CVE-2019-10638)

-Linuxカーネル4.x (4.1から開始) および5.0.8以前の5.xにより、情報漏洩 (部分的なカーネルアドレス開示) が発生し、KASLRバイパスが引き起こされます。具体的には、カーネルがコネクションレスプロトコル (UDPやICMPなど) に対して生成するIP ID値を使用して、KASLRカーネルイメージオフセットを抽出できます。このようなトラフィックが複数の宛先 IP アドレスに送信されると、(カウンター配列に対するインデックスの) ハッシュ衝突を取得し、それによって (列挙を介して) ハッシングキーを取得することが可能です。このキーには (静的変数の) カーネルアドレスからの十分なビットが含まれているため、キーが (列挙を介して) 抽出されると、カーネルイメージのオフセットが漏洩します。この攻撃は、攻撃者によりリモートで実行され、攻撃者が制御するIPアドレスにUDPまたはICMP (または特定のその他の) トラフィックを送信するように標的デバイスを強制する可能性があります。サーバーがDNSサーバーである場合、サーバーにUDPトラフィックを送信させることは簡単です。サーバーがICMP Echoリクエスト (ping) に応答する場合、ICMPトラフィックはわずかです。クライアントターゲットの場合、ターゲットが攻撃者のWebページを訪問すると、WebRTCまたはgQUICを使用して攻撃者が制御するIPアドレスにUDPトラフィックが強制される可能性があります。注意: IP ID生成がネットワーク名前空間に関連付けられたアドレスに依存するように変更されたため、KASLRに対するこの攻撃は4.1で実行可能になりました。(CVE-2019-10639)

- 5.1-rc5 以前の Linux カーネルで、約 140 GiB の RAM が存在する場合に、page->_refcount の参照カウントオーバーフローが引き起こされ、結果としてメモリ解放後使用 (Use After Free) 問題が発生します。これはfs/fuse/dev.c、fs/pipe.c、fs/splice.c、include/linux/mm.h、include/linux/pipe_fs_i.h、kernel/trace/trace.c、mm/gup.c、mm/hugetlb.cに関連しています。これは、FUSEリクエストで発生する可能性があります。(CVE-2019-11487)

-5.0.10より前のLinuxカーネルのコアダンプ実装は、実行の際にロックや他のメカニズムを使用してvmaレイアウトやvmaフラグの変更を防ぐことをしないため、ローカルのユーザーがmmget_not_zero呼び出しやget_task_mm呼び出しで競合状態を誘発することによって、秘密情報を入手したり、サービス拒否を引き起こしたり、詳細不明な他の影響を与える可能性があります。この問題は、fs/userfaultfd.c、mm/mmap.c、fs/proc/task_mmu.c、drivers/infiniband/core/uverbs_main.cに関連しています。(CVE-2019-11599)

- 5.0.7より前の Linux カーネルで問題が発見されました。drivers/scsi/megaraid/megaraid_sas_base.cのmegasas_create_frame_pool()がmegasas_alloc_cmds()で失敗すると、NULLポインターのデリファレンスが発生する可能性があります。
これにより、メモリ解放後使用(Use After Free)に関連するサービス拒否が発生します。(CVE-2019-11810)

-5.2.1までのLinuxカーネルのdrivers/input/tablet/gtco.cにあるparse_hid_report_descriptorで、悪意のあるUSBデバイスがデバッグメッセージの生成中に領域外書き込みをトリガーするHIDレポートを送信する可能性があります。(CVE-2019-13631)

- powerpc プラットフォームの 5.2.1 までの Linux カーネルで、ハードウェアのトランザクションメモリが無効な場合、ローカルユーザーが、細工されたシグナルフレームを送信する sigreturn() システムコールを介して、サービス拒否 (TM Bad Thing の例外およびシステムクラッシュ) を引き起こす可能性があります。これは、arch/powerpc/kernel/signal_32.c および arch/powerpc/kernel/signal_64.c に影響を与えます。(CVE-2019-13648)

-5.2.3までのLinuxカーネルにおいて、drivers/block/floppy.c内のset_geometryは、セクトおよびヘッドフィールドを検証していません。これは、整数オーバーフローと領域外読み取りによって実証されています。これは、フロッピーディスクが挿入されたときに、権限のないローカルユーザーによって引き起こされる可能性があります。注意: QEMUはデフォルトでフロッピーデバイスを作成します。(CVE-2019-14283)

- 5.2.3より前の Linux カーネルで、drivers/block/floppy.c により、setup_format_paramsdivision-by-zero によるサービス拒否が可能になります。2つの連続したioctlがバグを発生させる可能性があります: 最初のものは、F_SECT_PER_TRACKをゼロにする.sectおよび.rateの値でドライブジオメトリを設定する必要があります。次に、フロッピーフォーマット操作を呼び出す必要があります。これは、フロッピーディスクが挿入されたときでも、権限のないローカルユーザーによって引き起こされる可能性があります。注: QEMUはデフォルトでフロッピーデバイスを作成します。(CVE-2019-14284)

- 4.16.4 より前の Linux カーネルでは、drivers/usb/dwc3/gadget.c のダブルロックエラーにより、f_hid でデッドロックが発生する可能性があります。(CVE-2019-14763)

- 5.1.12 より前の Linux カーネルの drivers/scsi/qedi/qedi_dbg.c で問題が発見されました。qedi_dbg_* ファミリーの関数に、領域外読み取りがありました。(CVE-2019-15090)

- 5.2.6 より前の Linux カーネルで問題が発見されました。drivers/media/radio/radio-raremono.c がメモリを適切に割り当てないため、drivers/media/v4l2-core/v4l2-dev.c ドライバーに悪意のある USB デバイスによるメモリ解放後使用 (Use After Free) が発生します。(CVE-2019-15211)

- 5.1.8 より前の Linux カーネルで問題が発見されました。drivers/usb/misc/rio500.c ドライバーに、悪意のある USB デバイスによって引き起こされる可能性のある二重解放のバグがあります。(CVE-2019-15212)

- 5.0.10 より前の Linux カーネルで問題が発見されました。カードの切断により特定のデータ構造が早期に削除されるため、サウンドサブシステムにメモリ解放後使用 (Use After Free) があります。これは、sound/core/init.cとsound/core/info.cに関連しています。(CVE-2019-15214)

- 5.2.6 より前の Linux カーネルで問題が発見されました。drivers/media/usb/cpia2/cpia2_usb.cドライバーに、悪意のあるUSBデバイスによって引き起こされるメモリ解放後使用 (Use After Free) があります。(CVE-2019-15215)

- 5.0.14 より前の Linux カーネルで問題が発見されました。drivers/usb/misc/yurex.c ドライバーに、悪意のある USB デバイスに引き起こされた NULL ポインターのデリファレンスがありました。(CVE-2019-15216)

- 5.1.8 より前の Linux カーネルで問題が発見されました。drivers/media/usb/siano/smsusb.cドライバーに、悪意のあるUSBデバイスに引き起こされたNULLポインターのデリファレンスがあります。(CVE-2019-15218)

- 5.2.1 より前の Linux カーネルで問題が発見されました。drivers/net/wireless/intersil/p54/p54usb.cドライバーに、悪意のあるUSBデバイスによって引き起こされるメモリ解放後使用 (Use After Free) があります。(CVE-2019-15220)

- 5.1.17 より前の Linux カーネルで問題が発見されました。sound/usb/line6/pcm.cドライバーに、悪意のあるUSBデバイスに引き起こされたNULLポインターのデリファレンスがあります。(CVE-2019-15221)

- 5.0.9 より前の Linux カーネルで問題が発見されました。net/appletalk/atalk_proc.c、net/appletalk/ddp.c、net/appletalk/sysctl_net_atalk.c に関連して、atalk_proc_exit にメモリ解放後使用 (Use After Free) があります。
(CVE-2019-15292)

-4.19.13までのLinuxカーネルで、net/can/gw.cのcan_can_gw_rcvに問題が見つかりました。CANフレーム修正規則では、can_dlcフィールドにも適用できるビット単位の論理演算が許可されています。
CAP_NET_ADMINを持つ特権ユーザー「root」は、データ長コードを利用可能なCANフレームデータサイズよりも大きい値にするCANフレーム変更ルールを作成できます。結果がデータの最後 (cgw_csum_xor_relなど) に保存される設定済みのチェックサム計算と組み合わせることで、skbの末尾 (例: skb_shared_infoのfrag_listポインター) が書き換えられ、最終的にシステムクラッシュを引き起こす可能性があります。チェックが不足しているため、CANドライバーは、can-gwで操作された送信フレームを処理するときに、CANコントローラーのI/Oメモリ内のデータレジスタを越えて任意のコンテンツを書き込む可能性があります。
(CVE-2019-3701)

-Linuxカーネルのdrivers/hid/hid-debug.cファイル内のhid_debug_events_read()関数に欠陥が見つかりました。この関数は、ユーザー空間から渡された特定のパラメーターで無限ループに入る可能性があります。ローカルの特権ユーザー (root) が、システムのロックアップやサービス拒否を引き起こす可能性があります。v4.18以降のバージョンは脆弱です。(CVE-2019-3819)

- handle_rx() で着信パケットを処理中に、Linux カーネル v5.1-rc6 までの vhost_net カーネルモジュールで無限ループの問題が見つかりました。一方の端からもう一方の端がパケットを処理できるよりも速くパケットを送信すると、発生する可能性があります。ゲストユーザー (リモートユーザー) がこの欠陥を悪用して、vhost_net カーネルスレッドを停止させ、DoS を引き起こす可能性があります。(CVE-2019-3900)

-5.1バージョン以前のBluetooth BR/EDR仕様では、十分に短い暗号化キー長を許可しており、攻撃者がキー長ネゴシエーションに影響を与えることを阻止しません。これにより、被害者に気付かれることなくトラフィックを復号化し、任意の暗号文を挿入可能な、実用的なブルートフォース攻撃(別名「KNOB」)が可能になりました。(CVE-2019-9506)

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

ソリューション

影響を受けるカーネルパッケージを更新してください。

参考資料

https://ubuntu.com/security/notices/USN-4115-1

プラグインの詳細

深刻度: Critical

ID: 128475

ファイル名: ubuntu_USN-4115-1.nasl

バージョン: 1.9

タイプ: local

エージェント: unix

公開日: 2019/9/3

更新日: 2024/1/9

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

リスク情報

VPR

リスクファクター: Medium

スコア: 6.7

CVSS v2

リスクファクター: Critical

基本値: 10

現状値: 8.3

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

CVSS スコアのソース: CVE-2019-15292

CVSS v3

リスクファクター: Critical

基本値: 9.8

現状値: 9.1

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

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

CVSS スコアのソース: CVE-2018-20784

脆弱性情報

CPE: p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1022-oracle, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1041-gcp, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1041-gke, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1043-kvm, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1044-raspi2, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-1056-azure, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-60-generic, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-60-generic-lpae, p-cpe:/a:canonical:ubuntu_linux:linux-image-4.15.0-60-lowlatency, cpe:/o:canonical:ubuntu_linux:16.04:-:lts, cpe:/o:canonical:ubuntu_linux:18.04:-:lts

必要な KB アイテム: Host/cpu, Host/Ubuntu, Host/Ubuntu/release, Host/Debian/dpkg-l

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

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

パッチ公開日: 2019/9/2

脆弱性公開日: 2019/1/3

参照情報

CVE: CVE-2018-19985, CVE-2018-20784, CVE-2019-0136, CVE-2019-10207, CVE-2019-10638, CVE-2019-10639, CVE-2019-11487, CVE-2019-11599, CVE-2019-11810, CVE-2019-13631, CVE-2019-13648, CVE-2019-14283, CVE-2019-14284, CVE-2019-14763, CVE-2019-15090, CVE-2019-15211, CVE-2019-15212, CVE-2019-15214, CVE-2019-15215, CVE-2019-15216, CVE-2019-15218, CVE-2019-15220, CVE-2019-15221, CVE-2019-15292, CVE-2019-3701, CVE-2019-3819, CVE-2019-3900, CVE-2019-9506

USN: 4115-1