脆弱性情報(JVN)
脆弱性情報(JVN)検索・一覧
JVN(IPA/JPCERT/CC 提供)の脆弱性情報 289,756 件を、製品・ベンダ・脆弱性タイプ(CWE)で 全文検索し、深刻度(CVSS)で絞り込めます。発表日の新しい順。各タイトルから詳細(CVSS内訳・関連脆弱性)へ。
深刻度 High 直近3年 の検索結果:1,201–1,240 件目を表示(ページ 31)
深刻度は CVSS(共通脆弱性評価システム・0〜10 のスコア)に基づく区分:Critical 9.0以上/High 7.0〜8.9/Medium 4.0〜6.9/Low 0.1〜3.9。
Linuxカーネルのdrm/xeにあるxe_gem_prime_import()関数で、dma-bufアタッチメントがリークする問題が修正されました。具体的には、xe_dma_buf_init_obj()が失敗した場合にdma_buf_dynamic_attach()によって作成されたアタッチメントが適切に切り離されていませんでした。この問題を解決するため、エラーを返す前にdma_buf_detach()が追加されました。ただし、xe_dma_buf_init_obj()の失敗時には既にバッファオブジェクトが解放されているため、二重解放を防ぐためにgoto out_errは使用されていません。この修正によってセキュリティ上の問題が解決されました。
Linuxカーネルにおいて、以下の脆弱性が修正されました:spi: cadence-quadspiにおけるアンバインド時のクロックなしアクセスの修正です。ドライバーのアンバインド中に、コントローラーを無効にする前にランタイムが再開されていることを確認し、クロックなしのレジスタアクセスを回避します。この問題は、コントローラーの登録解除修正をレビューしていたSashikoが指摘しました。
Linuxカーネルにおいて、以下の脆弱性が修正されました。drm/amdgpu/vcn4にてIB解析時の範囲外読み取り(OOB読み取り)を防止しました。IB解析をamdgpu_ib_get_value()を使用するよう書き換え、その結果、境界チェックを適切に処理しています。
Linuxカーネルにおいて、すべてのプライベートIOCTLを禁止する脆弱性が修正されました。プライベートIOCTLは安全でないため無効化されており、この変更によってシステムのセキュリティが向上します。
Linuxカーネルにおいて、以下の脆弱性が修正されました。batman-advでは、テアダウン中に新しいtp_meterセッションを拒否します。mesh_stateがBATADV_MESH_ACTIVEを離れた後、tp_meterが新しい送信者または受信者セッションを開始するのを防止します。
Linuxカーネルのbatman-advモジュールにおいて、メッシュ終了時にtp_meterセッションを停止しない問題が修正されました。netlinkリクエスト完了後もTPメーターセッションがbat_priv-tp_listに残っており、メッシュインターフェース削除時にこれらのセッションが正しく解放されませんでした。そのため、実行中の送信スレッドや遅延したtp_meterパケットが、既にシャットダウン中のメッシュインスタンスに対して処理を続ける可能性がありました。本修正では、batadv_mesh_free()関数で全てのアクティブなセッションを停止し、送信スレッドの終了を待ってからメッシュの解体を行うように同期を改善しました。
Linuxカーネルにおいて、drm/gemのdrm_gem_fb_init_with_funcs()関数でサブサンプルされたプレーンの寸法を不適切に計算する問題が修正されました。この関数は整数除算を使用していましたが、framebuffer_check()ではDIV_ROUND_UP()を使用しており、寸法の算出方法に不一致がありました。この不整合により、特定のピクセルフォーマットや寸法の組み合わせでGEMオブジェクトのサイズ検証が誤り、GPUが境界外のメモリにアクセスする恐れがありました。この問題は、整数除算をDIV_ROUND_UP()に置き換えることで修正されました。
Linuxカーネルにおいて、以下の脆弱性が修正されました。media: irisにおけるMBPFチェック中のfmt_srcのUse-After-Freeの問題を修正しました。並行テスト中、複数のインスタンスが並行して動作し、それぞれのインスタンスは自身のinst-lockを使用します。一方、core-lockはアクティブなインスタンスのリストを保護しています。この競合は、これらのロックが異なる範囲をカバーしているために発生します。inst-lockは単一インスタンスの内部のみを保護し、MBPF(Macro Blocks Per Frame)チェッカーはcore-lockの下でコアリストを走査し、fmt_src-widthやfmt_src-heightのようなフィールドを読み取ります。同時に、iris_close()関数はinst-lockの下でfmt_srcとfmt_dstを解放する場合があり、その時点でもインスタンスはまだコアリスト内に存在しています。これにより、MBPFチェッカーがコアリストを走査中にfmt_srcが別スレッドによって既に解放されたインスタンスに到達し、ダングリングポインタの逆参照が発生し、Use-After-Freeの状態になります。これはMBPFチェッカーがコアリスト内のインスタンスは完全に有効であると仮定しているためであり、インスタンスをリストから削除せずにfmt_srcとfmt_dstを解放することが誤りです。正しい順序としては、インスタンスがコアリストから削除され、coreロック下での全テアダウンが完了した後にfmt_srcとfmt_dstの解放を遅延させることであり、MBPFチェック中にダングリングポインタが露出しないようにしています。
Linuxカーネルにおいて、以下の脆弱性が修正されました。batman-advモジュールのblaにおいて、クレーム削除時のuse-after-freeを防止しました。batadv_bla_del_backbone_claims()はバックボーンのすべてのクレームを削除する際に、ハッシュリストのリンクエントリを削除して処理を行います。このリストエントリ自体はbatadv_claim_put()を通じて同時に解放すべき参照のひとつです。しかし、この関数内で最後のクレームオブジェクトへアクセスする前にbatadv_claim_put()を呼び出してはいけません。そうしないと、リストエントリが削除される前にbatadv_claim_release()関数によってクレームがすでに解放されてしまう可能性があるためです。
Linuxカーネルにおいて、以下の脆弱性が修正されました。HID: appletb-kbdにおける非アクティブタイマーのクリーンアップパスに関するUse-After-Free(UAF)の問題です。修正はCommit 38224c472a03("HID: appletb-kbd: fix slab use-after-free bug in appletb_kbd_probe")で行われ、probeのclose_hwエラーパスとappletb_kbd_remove()の両方にtimer_delete_sync(&kbd-inactivity_timer)が追加されました。しかし、その結線方法によりドライバーの停止時に非アクティブタイマーが二つの異なるタイミングで到達可能な状態が残っていました。ウィンドウAでは、timer_delete_sync()の前にput_device()が呼ばれます(put_device(&kbd-backlight_dev-dev)の後にtimer_delete_sync(&kbd-inactivity_timer))。inactivity_timerのsoftirqはkbd-backlight_devを読み取り、backlight_device_set_brightness()を呼び出し、その中でmutex_lock(&ops_lock)が呼ばれます。もし同時にhid_appletb_blのunbindがこれら二つの呼び出しの間で最後のdevm参照を解放すると、backlight_deviceが解放され、mutex_lock()が解放済みメモリにアクセスする危険があります。ウィンドウBでは、backlightクリーンアップがhid_hw_stop()の前に実行されます。具体的には、if (kbd-backlight_dev) {timer_delete_sync(...); put_device(...);}の後にhid_hw_close(hdev)およびhid_hw_stop(hdev)が呼び出されます。ウィンドウAが閉じられてもhid_hw_close()/hid_hw_stop()はその後も実行されるため、HIDコアの遅延した"event"コールバック(実機Appleハードウェア上のUSB URB完了)がtimer_delete_sync()でsoftirqが消費されたあとで、かつput_device()で最後の参照が解放される前に到着する可能性があります。そのコールバックはreset_inactivity_timer()に達し、mod_timer()を呼び出してタイマーを再起動します。再起動されたタイマーは、まさに解放されようとしているbacklight_device上で発火する恐れがあります。両方のウィンドウは同じKASAN slab-use-after-freeエラーを引き起こしています。具体的には、BUG: KASAN: slab-use-after-free in __mutex_lock+0x1aab/0x21c0、アクセスサイズ8、アドレスffff88803ee9a108、タスクswapper/0/0による読み取りが発生し、呼び出しトレースはIRQ __mutex_lock backlight_device_set_brightness appletb_inactivity_timer call_timer_fn run_timer_softirq handle_softirqsです。割り当てたタスクNはdevm_backlight_device_registerおよびappletb_bl_probeであり、解放したタスクMは同時に発生するhid_appletb_bl unbindパスです。これら両方のウィンドウを同時に閉じるため、appletb_kbd_remove()およびprobeのclose_hwエラーパスでの停止手続きを再設計しました。具体的には、1) backlightクリーンアップの前にhid_hw_close()/hid_hw_stop()を実行して、その後に"event"コールバックによるタイマー再起動が発生しないことを保証し、2) "if (kbd-backlight_dev)"ブロック内でtimer_delete_sync()をput_device()より先に実行し、softirqが最終参照解放前に消費されるようにしました。
Linuxカーネルにおいて、以下の脆弱性が修正されました。drmのchange_handle内で、prime交換前に古いハンドルをNULLに設定します。change_handleには潜在的な競合状態が存在しました。ioctlは一時的に2つのidrエントリを持つ単一のオブジェクトを扱い、その間に並行して実行されるgem_closeがオブジェクトを削除し、ひとつのハンドルを除去しつつもう一方を残してしまいます。その結果、使用後解放(use-after-free)の問題が発生する可能性がありました。この問題を修正するために、gem_close自身が行う処理と同様の手順を実施します(f6cd7daecff5 drm: ドライバーの参照を解放して再利用可能にする前の処理)。まずidr_replaceで古いハンドルをNULLに置き換えます。prime操作が成功した場合にのみ、実際にそれをクローズします。create_tailにも同様の問題を避けるために同様の処理を行う必要がありました(bd46cece51a3 drm/gem: drm_gem_handle_create_tail()の競合状態を修正)。この関数はidr_allocで新しいハンドルをNULLに設定し、その後に正しいオブジェクトを差し替えることで競合を避けています。ここではdrm_primeが唯一の競合する操作ですが、change_handleは処理全体を通じてprimeロックを保持しているため、この方法は必要ありません。v2ではエラー経路のクリーンアップが行われました。
Linuxカーネルにおいて、以下の脆弱性が修正されました。drm/amdgpuでは、ib_{get,set}_valueへの境界チェックが追加されました。uvd/vce/vcnコードは、IBが十分な大きさであるかを確認せずに、あらかじめ定義されたオフセットでIBにアクセスしていましたが、ここで境界をチェックするようになりました。呼び出し元は任意の戻り値を適切に処理する責任があります。また、インデックスをuint32_t型にすることで、オーバーフローによる条件の失敗を防止しています。
Linuxカーネルにおいて、以下の脆弱性が修正されました: spi: mpc52xxのunbind時に発生するuse-after-freeの問題が修正されました。状態機械の作業は割り込みハンドラによってスケジュールされるため、割り込みを無効化した後にキャンセルし、潜在的なuse-after-freeを回避します。
Linuxカーネルにおいて、以下の脆弱性が修正されました。sctp: SCTP_SENDALL内のsctp_sendmsg_to_asoc()呼び出し後にリストカーソルを再検証します。sctp_sendmsg()のSCTP_SENDALLパスは、list_for_each_entry_safe()でep-asocsを反復処理し、ループ内でsctp_sendmsg_to_asoc()を呼び出します。この関数はsctp_wait_for_sndbuf()内でソケットロックを一時的に解放する可能性があります。ロックが解放されている間に、別のスレッドが関連付けを移動または解放することがあり、その結果ループのイテレータが解放済みのデータを参照し、use-after-freeや型混同が発生します。この問題により、型混同を起因とした制御可能な間接呼び出しが引き起こされる可能性があります。修正はsctp_sendmsg_to_asoc()の戻り後にイテレータを再取得し、関連付けの存在を再検証することで行いました。これにより、セキュリティ上の問題を防止します。
Linuxカーネルにおいて、次の脆弱性が修正されました:drm/amdgpu/vcn3におけるデコードメッセージを解析する際の範囲外読み取り(OOB読み取り)を防止しました。メッセージにアクセスする際は、常にBOの終端と比較して境界を確認します。
Linuxカーネルにおいて、以下の脆弱性が修正されました。HID: playstationに関して、num_touch_reportsの値を制限することで、デバイスがタッチレポートの数について誤った情報を提供することを防止します。もし誤った情報を提供した場合、dualshock4_parse_report内のループがtouch_reports配列の範囲外を読み取る可能性があります。その結果、最大256回ループし、約2KiB分のデータを読み取ることがあります。読み取られたデータはDS4_TOUCH_POINT_INACTIVEビットが設定されている場合、evdevを通じて出力されます。この問題を防ぐために、デバイスから提供されるnum_touch_reportsの値をtouch_reports配列の最大サイズに制限する対策が取られました。
Linuxカーネルのvsockにおいて、バッファサイズの制限順序の誤りにより、バッファサイズが意図した最大値を超えて設定される可能性があり、この問題が修正されました。
Windows Kerberosの整数オーバーフローまたはラップアラウンドにより、認証された攻撃者が隣接するネットワーク上でコードを実行する可能性があります。
Windows Storageの信頼されていない検索パスの問題により、権限を持つ攻撃者がローカル環境で特権を昇格させることが可能です。
Windows Hyper-Vにおける範囲外読み取りの脆弱性により、不正な攻撃者がローカルでコードを実行する可能性があります。
Windowsブートマネージャの保護メカニズムに不具合があるため、認可された攻撃者がローカルでセキュリティ機能を回避できる可能性があります。
Linuxカーネルにおいて、drm/amdgpu/vcn3のmsgの境界チェックでのオーバーフローを回避するための修正が行われました。SDLによって指摘されたように、以前の条件ではオーバーフローの脆弱性が存在していました。これにより、システムの安全性が向上しました。
Linuxカーネルにおけるbatman-advの脆弱性が修正されました。BAT IVは各neigh_nodeに最後のホップの近隣アドレスを保持しますが、一部の経路では一時的なルックアップによるオリジネーターポインターもキャッシュしていました。このオリジネーターポインターはneigh_nodeの所有物ではなく、パージ実行後には有効なオリジネータエントリを指さない可能性がありました。この問題に対して、BAT IVは近隣状態に補助的なオリジネーターポインターを保存しないように変更されました。BAT IVが近隣オリジネーターデータを必要とする場合は、保存された近隣アドレスからそれを解決し、使用後には参照を破棄します。
Linuxカーネルのmediaサブシステムにあるirisドライバーで、iris_release_internal_buffers()関数の使用後解放に関する脆弱性が修正されました。コミット1dabf00ee206によってバッファ解放の順序が変更され、その結果、使用後にバッファが参照される回帰が発生していました。この問題は、session_release_buf()を呼び出す前にBUF_ATTR_PENDING_RELEASEフラグを設定し、呼び出しに失敗した場合はフラグを元に戻す対策によって修正されました。
Linuxカーネルにおいて、以下の脆弱性が修正されました。spi: mpc52xxにおける登録失敗時の使用後解放(use-after-free)を修正しました。コントローラの登録が失敗した場合には、割り込みを無効化し解放することで、潜在的な使用後解放およびリソースリークを防止します。この問題は、Sashikoがコントローラの登録解除修正をレビューした際に指摘されました。
Linuxカーネルにおいて、以下の脆弱性が修正されました。eventpollのep_removeにおけるstruct eventpollおよびstruct fileのUse-After-Free(UAF)問題に対する修正です。ep_remove()(ep_remove_file()経由)ではfile-f_lockの下でfile-f_epをクリアしましたが、その後もクリティカルセクション内で@fileを使用し続けていました(is_file_epoll()やhlist_del_rcu()をhead経由で呼び出し、spin_unlockを行っていました)。同時に動作していた__fput()はeventpoll_release()の高速パスを経由し、その過程で一時的にNULLとなったfile-f_epを観察し、eventpoll_release_file()をスキップしてf_op-releaseおよびfile_free()を実行していました。epoll-watches-epollのケースでは、f_op-releaseはep_eventpoll_release() - ep_clear_and_put() - ep_free()となり、これが監視中のstruct eventpollをkfree()します。この中の埋め込みメンバのrefsにあるhlist_headはepi-fllink.pprevが指している場所と同一であり、その後のhlist_del_rcu()の「*pprev = next」により、解放済みのkmalloc-192メモリが上書きされる問題がありました。さらにstruct fileはSLAB_TYPESAFE_BY_RCUであるため、ep_remove()がまだそのロック内にいる間に、@fileを裏付けるスロットがalloc_empty_file()により再利用され、f_lockとf_epが再初期化される可能性があります。つまり、攻撃者が制御可能なkmem_cache_free()が誤ったスラブキャッシュに対して実行される事態が発生する恐れがありました。修正では、ep_remove()の先頭でepi_fget()により@fileをピン留めし、ピン留めが成功した場合にのみクリティカルセクションに入るようにしました。ピン留めした状態の@fileは参照カウントがゼロにならず、__fput()の実行を抑制します。これにより、監視されているstruct eventpollがhlist_del_rcu()およびf_lockの使用を跨いで有効な状態に保たれ、両方のUse-After-Freeを防止します。もしピン留めが失敗した場合は、@fileはすでに参照カウントゼロに達しており、__fput()が進行中です。f_epをクリアする前に早期リターンしているため、その経路はeventpoll_release()のスローパスであるeventpoll_release_file()を通り、ep-mtx上で待機し、待機側のep_clear_and_put()がロックを解放するのを待ちます。早期リターンしたepiのep-refcountのシェアは維持されているため、ep_clear_and_put()の最後のep_refcount_dec_and_test()はeventpoll_release_file()の動作中にeventpollを強制解放しません。孤立したepiはそこで適切にクリーンアップされます。ピン留め成功はまた、このepiに対してeventpoll_release_file()と競合していないことも証明するため、f_lock下のepi-dyingを再チェックしていた冗長な処理を削除しました。安価なロックなしのREAD_ONCE(epi-dying)による高速パスでの早期リターンはそのまま残します。
リモートデスクトップクライアントにおけるヒープベースのバッファオーバーフローの脆弱性により、未承認の攻撃者がネットワークを介してコードを実行する可能性があります。
Windowsセキュアブートの保護機構が失敗したため、認可された攻撃者がローカルでセキュリティ機能を回避できるようになります。
Windows Secure Bootの保護メカニズムに失敗があり、そのため認可された攻撃者がローカル環境でセキュリティ機能を回避できる状況が発生します。
Windows Secure Bootの保護機構に不具合があり、認可された攻撃者がローカルでセキュリティ機能を回避できる可能性があります。
Windows Mediaのヒープベースのバッファオーバーフローにより、不正な攻撃者がローカルでコードを実行する可能性があります。
Windows Secure Bootの保護メカニズムに障害が発生し、認可された攻撃者がローカルでセキュリティ機能を迂回できるようになります。
Windows Secure Bootの保護機構に不具合があり、認可された攻撃者がローカル環境でセキュリティ機能を回避できる可能性があります。
Windows Secure Bootの保護メカニズムに障害が発生したため、認可された攻撃者がローカルでセキュリティ機能を回避することが可能となる。
WindowsカーネルにおけるUse after freeの脆弱性により、権限を持つ攻撃者がローカルで特権を昇格させることが可能です。
HTTP/2における資源消費の制御が不十分なため、未承認の攻撃者がネットワーク上でサービス拒否を引き起こす可能性があります。
FreeSWITCHは、専用の電話交換機から任意の汎用ハードウェア上で動作するソフトウェア実装へのデジタルトランスフォーメーションを可能にするソフトウェア定義の電気通信スタックです。バージョン1.11.0以前では、宣言された属性長がパーサがキャストする構造体よりも短いSTUNパケットが存在し、そのためパーサが属性の末尾を超えて読み書きを行い、個々のレッグメディアバッファで境界外メモリアクセスを引き起こしていました。この問題はバージョン1.11.0で修正されました。
FreeSWITCHは、プロプライエタリな電話交換機から任意の汎用ハードウェア上で動作するソフトウェア実装へのデジタルトランスフォーメーションを可能にするソフトウェア定義のテレコムスタックです。バージョン1.11.1以前では、mod_vertoのWebSocketフレームループが認証チェックの前に#で始まるスピードテストプロトコル(#SPU / #SPB / #SPE)をインターセプトしていました。#SPUで宣言されたペイロードサイズはatoi()で解析され、非正の値のみが拒否されていたため、認証されていないピアが最大INT_MAXバイトまで要求できました。その後、サーバーはダウンロードフェーズで約size * 10バイト、1リクエストあたり約20GBを書き戻していました。この動作は、短いリクエストからの強力なアウトバウンド帯域拡散を引き起こしていました。この問題はバージョン1.11.1で修正されました。
FreeSWITCHは、専用の電話交換機から任意の汎用ハードウェア上で動作するソフトウェア実装へのデジタルトランスフォーメーションを可能にするソフトウェア定義テレコムスタックです。バージョン1.11.1以前では、単一の認証されていないWebSocketフレーム内に深くネストされたJSONドキュメントが含まれていると、スタックオーバーフローが発生し、FreeSWITCHプロセスがクラッシュし、ホスト上のすべての通話およびセッションが終了してしまいます。この再帰処理により、ワーカースレッドのスタックポインタがスタックガードページに入り込み、カーネルからSIGSEGVが発生し、使用可能な書き込みプリミティブが発生する前にクラッシュします。この問題はバージョン1.11.1で修正されました。
ファイルハンドルが既に使い切られている場合に、Apache HTTP Serverのmod_http2モジュールでUse After Freeの脆弱性が発生します。この問題は、Apache HTTP Serverのバージョン2.4.55から2.4.67に影響を与えます。
脆弱性情報(JVN) よくある質問
脆弱性を製品名やベンダ名で検索できますか?
はい。製品・ベンダ・脆弱性タイプ(CWE)で全文検索し、深刻度(CVSS)で絞り込めます。発表日の新しい順に表示します。
CVSS(深刻度)とは何ですか?
脆弱性の深刻さを0〜10で表す共通指標です。数値が大きいほど影響が大きく、緊急・重要・警告・注意などの区分で絞り込めます。
影響を受ける製品やベンダ企業は分かりますか?
各脆弱性の詳細ページで、影響を受ける製品・ベンダを確認できます。ベンダ名は法人検索と突き合わせて企業情報もたどれます。
情報の出典を教えてください。
JVN(IPA〔情報処理推進機構〕・JPCERT/CC 提供)の公開情報を収録しています。対応の要否は必ず各JVN詳細・公式情報でご確認ください。
出典:JVN(Japan Vulnerability Notes・独立行政法人情報処理推進機構(IPA)/JPCERT コーディネーションセンター/jvn.jp)を加工して作成。 全文検索は当サイト収録分(全289,756件)を対象とし、発表日の新しい順に表示しています。 本情報の最新性・正確性・完全性は保証されません。詳細は各 JVN 詳細ページをご確認ください。 なお本情報は製品・ソフトウェアの脆弱性に関するものであり、特定の法人・製品ベンダの評価や信用性を示すものではありません。