読み込んでいます…
脆弱性情報(JVN)
JVN(IPA/JPCERT/CC 提供)の脆弱性情報 294,721 件を、製品・ベンダ・脆弱性タイプ(CWE)で 全文検索し、深刻度(CVSS)で絞り込めます。発表日の新しい順。各タイトルから詳細(CVSS内訳・関連脆弱性)へ。
深刻度 High 種別 境界外読み取り の検索結果:121–160 件目を表示(ページ 4)
深刻度は CVSS(共通脆弱性評価システム・0〜10 のスコア)に基づく区分:Critical 9.0以上/High 7.0〜8.9/Medium 4.0〜6.9/Low 0.1〜3.9。
Linuxカーネルにおいて、以下の脆弱性が修正されました:netfsにおけるリトライ中の読み取り放棄の問題です。特定の状況下で、読み取りリクエストの残りのすべてのサブリクエストがリトライ中に放棄されてしまいます。放棄処理は、'subreq'変数が放棄を開始する位置に設定されていることを想定していますが、常に有用な値を持っているわけではありません(最初のループ通過時には未初期化であり、後の通過時には削除されたサブリクエストを指している場合があります)。"abandon:"への最初のジャンプ時に、subreqをリトライが必要な最初のサブリクエストの開始位置に設定するよう修正しました(この放棄ケースでは予期せずNEED_RETRYが設定されていませんでした)。また、余分なリトライ可能なサブリクエストを破棄した後にsubreqポインタをクリアし、アクセスしようとした場合にはoops(カーネルエラー)が発生するようにしました。
Microsoft Office Excelのバッファ外読み取りにより、権限のない攻撃者がローカル情報を漏洩する可能性があります。
Linuxカーネルにおいて、以下の脆弱性が修正されました。hwmonの(pmbus/q54sj108a2) debugfs読み取り時に発生するスタックバッファオーバーフローの問題です。q54sj108a2_debugfs_read関数は、bin2hex()に誤った引数を渡していたため、スタックバッファオーバーフローが発生していました。この関数では現在、'data'を出力先、'data_char'を入力元として渡しています。bin2hex()は入力バイトごとに2つの16進文字を生成するため、32バイトのブロック読み取りで64バイトの出力となります。しかし、'data'は34バイト(I2C_SMBUS_BLOCK_MAX + 2)のサイズしかなく、そのためバッファの末端から30バイト分がスタック上に書き込まれてしまいます。さらに、引数の順序が逆であったため、初期化済みのゼロの'data_char'から読み込み、'data'に書き込んでおり、実際のI2C読み取りに関係なく全てゼロが出力されていました。これを修正するために、以下の対応を行いました。1. 'data_char'のサイズを66バイトに拡張し、16進出力を安全に格納可能にしました。2. bin2hex()の引数の順序を正しくし、実際の読み取りバイト数を使用しました。3. 最終的なsimple_read_from_bufferの呼び出しで正しい出力バッファを指すポインタを使用しています。
はい。製品・ベンダ・脆弱性タイプ(CWE)で全文検索し、深刻度(CVSS)で絞り込めます。発表日の新しい順に表示します。
脆弱性の深刻さを0〜10で表す共通指標です。数値が大きいほど影響が大きく、緊急・重要・警告・注意などの区分で絞り込めます。
各脆弱性の詳細ページで、影響を受ける製品・ベンダを確認できます。ベンダ名は法人検索と突き合わせて企業情報もたどれます。
JVN(IPA〔情報処理推進機構〕・JPCERT/CC 提供)の公開情報を収録しています。対応の要否は必ず各JVN詳細・公式情報でご確認ください。
出典:JVN(Japan Vulnerability Notes・独立行政法人情報処理推進機構(IPA)/JPCERT コーディネーションセンター/jvn.jp)を加工して作成。 全文検索は当サイト収録分(全294,721件)を対象とし、発表日の新しい順に表示しています。 本情報の最新性・正確性・完全性は保証されません。詳細は各 JVN 詳細ページをご確認ください。 なお本情報は製品・ソフトウェアの脆弱性に関するものであり、特定の法人・製品ベンダの評価や信用性を示すものではありません。
NanaZipはオープンソースのファイルアーカイブソフトウェアです。バージョン5.0.1252.0から6.0.1698.0未満までの間に、NanaZipのZealFSファイルシステムイメージパーサーにスタックベースの境界外読み取りの脆弱性が存在していました。この脆弱性は、細工されたZealFS v1ファイルシステムイメージを開くことで引き起こされます。ファイルヘッダー内の攻撃者が制御するBitmapSizeフィールドが、スタックに割り当てられたZEALFS_V1_HEADER構造体の末尾を越えて読み取る終わりのないループを誘発します。この脆弱性はバージョン6.0.1698.0で修正されました。
Ashlar-Vellum の Cobalt、Xenon、Argon、Lithium、および Cobalt Share バージョン 12.6.1204.216 以前には、境界外読み取りの脆弱性が存在します。この脆弱性により、特別に細工された VC6 ファイルが解析される際に、攻撃者が情報を開示したり、任意のコードを実行したりする可能性があります。
Ashlar-Vellum Cobalt、Xenon、Argon、Lithium、およびCobalt Shareのバージョン12.6.1204.216以前には、境界外読み取りの脆弱性が存在します。この脆弱性により、特別に細工されたVC6ファイルが解析される際に、攻撃者は情報を漏洩させたり、任意のコードを実行したりすることが可能です。
範囲外読み取りの問題は、改善された範囲チェックによって対処されました。この問題はiOS 16.5およびiPadOS 16.5、macOS Ventura 13.4、tvOS 16.5、visionOS 1.0、watchOS 9.5で修正されています。この問題により、アプリケーションがサービス拒否(DoS)を引き起こす可能性があります。
bareboxのバージョン2026.04.0以前には、fs/ext4/ext4_common.c内のeh_entriesフィールドがバッファの容量と比較して検証されていないため、ext4のエクステント解析において境界外読み取りの脆弱性があります。攻撃者はUSB、SDカード、またはネットワークブートを介して悪意のあるext4ファイルシステムイメージを提供でき、ブート時のファイルシステム解析中にヒープの境界外読み取りを引き起こすことが可能であり、それによって読み取りを任意のディスクオフセットにリダイレクトする危険があります。
Linuxカーネルにおいて、次の脆弱性が修正されました:ntb: ntb_hw_switchtecにおけるMW LUTの0に対するシフト範囲外アクセスの問題です。MW LUTの数はNTBの設定に依存し、ゼロに設定されることがあります。その場合、rounddown_pow_of_two関数を実行すると未定義の動作が発生する可能性があり、その関数を実行してはいけません。このパッチは、rounddown_pow_of_twoが有効な値に対してのみ呼び出されることを保証します。
境界チェックが改善され、境界外読み取りの問題が解決されました。この問題はiOS 26.5、iPadOS 26.5、macOS Tahoe 26.5、tvOS 26.5、およびwatchOS 26.5で修正されています。アプリが予期しないシステム終了を引き起こしたり、カーネルメモリを読み取ったりする可能性がありました。
Open5GS 2.7.7までのバージョンに脆弱性が検出されました。この脆弱性は、コンポーネントNFのライブラリlib/sbi/client.c内の関数ogs_sbi_client_send_via_scp_or_seppに影響を与えます。操作を行うことで境界外読み取りが発生します。この攻撃はリモートで実行可能です。対策パッチはd5bc487fcf9ea87d2b03f2ef95123af344773bfbという名前で提供されています。この問題に対処するため、パッチの適用を推奨します。
Linuxカーネルにおいて、以下の脆弱性が修正されました。hwmon: (tps53679) ゼロ長ブロック読み取りによる配列アクセスの問題を修正しました。i2c_smbus_read_block_data()は0を返すことがあり、これはゼロ長の読み取りを示しています。この場合、tps53679_identify_chip()がbuf[ret - 1]にアクセスしますが、buf[-1]となり、スタック上のバッファの1バイト前を読み取ってしまいます。修正ではチェック条件を"ret 0"から"ret = 0"に変更し、ゼロ長の読み取りをエラー(-EIO)として扱うことで、境界外の配列アクセスを防止しています。また、隣接するコメントの誤字も修正し、「if present」の重複を取り除きました。
Linuxカーネルにおいて、以下の脆弱性が修正されました。io_uring/rsrcでは、長さが0の固定バッファインポートを拒否します。validate_fixed_range()はlenが0の場合、登録された領域の正確な終端にbuf_addrを許可してしまいます。これは、チェックが厳密な大なり(buf_end imu-ubuf + imu-len)を使用しているためです。io_import_fixed()はその後、offset == imu-lenを計算し、これによりbvecスキップロジックが最後のbio_vecエントリを越えて進み、範囲外のスラブメモリからbv_offsetを読み取ってしまいます。lenが0の場合、io_import_fixed()は早期にリターンします。これは長さ0のインポートが転送するデータがなく、bvec配列を全く走査すべきでないためです。バグの内容は、KASANがio_import_reg_buf+0x697/0x7f0でスラブ範囲外読み取りを検出したことです。タスクpoc/103によってアドレスffff888002bcc254からサイズ4の読み取りが行われました。コールトレースは以下の通りです:io_import_reg_buf+0x697/0x7f0、io_write_fixed+0xd9/0x250、__io_issue_sqe+0xad/0x710、io_issue_sqe+0x7d/0x1100、io_submit_sqes+0x86a/0x23c0、__do_sys_io_uring_enter+0xa98/0x1590。タスク103によって割り当てられた領域の12バイト右側に問題のアドレスがあります。割り当てられた584バイトの領域は[ffff888002bcc000, ffff888002bcc248)です。
Linuxカーネルにおいて、以下の脆弱性が修正されました。netfilter: nf_conntrack_h323のdecode_choice()関数内で発生していた範囲外読み取り(OOB読み取り)の問題です。decode_choice()関数では、get_len()の前の境界チェックで、関数冒頭で初期化されたままの変数`len`(値は0)を使用していました。具体的には、unsigned int type, ext, len = 0; ... if (ext || (son-attr & OPEN)) {BYTE_ALIGN(bs); if (nf_h323_error_boundary(bs, len, 0)) /* ここでlenは0 */ return H323_ERROR_BOUND; len = get_len(bs); /* OOB読み取り */}ビットストリームがちょうど消費され(bs-cur == bs-end)た場合、nf_h323_error_boundary(bs, 0, 0)の判定は(bs-cur + 0 bs-end)となり、falseになります。これにより、その後のget_len()呼び出しは*bs-cur++を逆参照し、バッファの終端を1バイト越えて読み取ってしまいます。もし読み取ったバイトのビット7がセットされている場合、get_len()はさらに2バイト目も読み取ります。この問題は、nf_conntrack_h323ヘルパーが有効なファイアウォールを介して、PERエンコードされた2バイト({0x08, 0x00})のUser-User Information Elementを含む細工されたQ.931 SETUPメッセージをポート1720に送信することでリモートから引き起こすことができます。デコーダはPERバッファを完全に消費した後にこのコードパスに達するため、1から2バイトのヒープバッファオーバーフロー読み取りが発生し、AddressSanitizerによって検出されました。この問題は、初期化されていない`len`の代わりにget_len()が読み取る可能性のある最大2バイトをチェックすることで修正されました。この修正は、同じファイルの他のget_len()呼び出し箇所で用いられている、呼び出し前に利用可能なデータが2バイト以上あることを確認するパターンと一致しています。
PHPのバージョン8.2.*の8.2.31未満、8.3.*の8.3.31未満、8.4.*の8.4.21未満、および8.5.*の8.5.6未満において、urldecode()を含むいくつかの関数は符号付きcharをctype関数(例えばisxdigit())に渡します。デフォルトで符号付きcharを使用し、最適化されたテーブルルックアップctype関数を持つシステム(NetBSDなど)では、これにより負のオフセットの配列アクセスが発生し、サービス拒否(DoS)を引き起こす可能性があります。
Linuxカーネルにおいて、以下の脆弱性が修正されました。ALSAのcaiaqでのinit_card関数におけるスタックの境界外読み取りの問題です。このループはカードの短縮名から空白を除去したコピーを作成しますが、境界チェックに`len sizeof(card-id)`を使用していました。sizeof(card-id)は16であり、ローカルのidバッファも16バイトです。そのため、16文字の空白以外の文字を書き込むとバッファ全体が埋まり、終端のヌルバイトが上書きされてしまいます。その後、このヌル終端されていない文字列がsnd_card_set_id()からcopy_valid_id_string()に渡されると、`while (*nid && ...)`のループによりスタックバッファの終端を越えて読み取り、スタックの内容を読み出してしまいます。多くの非ASCIIかつ非空白文字(例えばマルチバイトUTF-8)を含む製品名のUSBデバイスでは、以下のように確実にこの問題が発生します。BUG: KASAN: stack-out-of-bounds in copy_valid_id_string sound/core/init.c:696 [inline] BUG: KASAN: stack-out-of-bounds in snd_card_set_id_no_lock+0x698/0x74c sound/core/init.c:718。オフバイワン問題は2009年6月(v2.6.31-rc1)のコミットbafeee5b1f8d("ALSA: snd_usb_caiaq: give better shortname")以来存在していました。この空白除去ループを最初に導入したコードは、コピーの際にヌル終端文字を考慮していませんでした。本問題はループの境界値を`sizeof(card-id) - 1`に変更し、少なくとも1バイトをヌル終端のために確保することで修正されました。
LinuxカーネルのWi-Fiドライバーであるiwlwifiのiwl_mvm_nd_match_info_handler()関数に潜在的な境界外読み取りの脆弱性が存在していました。この問題はmemcpy関数がコピーするバイト数以上のサイズの配列を仮定していたことと、パケット長の検証が不十分であったことが原因です。適切なバリデーションチェックを追加することで安全性が向上しました。
Linuxカーネルにおいて、以下の脆弱性が修正されました。perf/x86のintel_pmu_hw_configにおける潜在的な不正なcontainer_ofの問題を修正しました。自動カウンターリロードでは、ソフトウェアイベントを含むイベントのグループが存在することがあります。ソフトウェアイベントPMUはx86_hybrid_pmuではなく、intel_pmu_set_acr_caused_constr内(ハイブリッドヘルパー経由)でのcontainer_of操作が境界外メモリ読み取りを引き起こす可能性がありました。これを防ぐために、intel_pmu_set_acr_caused_constrへの呼び出しはis_x86_eventチェックで保護されています。
gobgp v4.3.0 の ParseIP6Extended 関数 (/bgp/bgp.go) における境界外読み取りの脆弱性により、攻撃者は細工された BGP UPDATE メッセージを提供してサービス拒否(DoS)を引き起こす可能性があります。
Linuxカーネルにおいて、以下の脆弱性が修正されました。netfilterのxt_tcpmssにおいて、optlenを読み取る前に残りの長さをチェックするように改善されました。報告者によると、net/netfilter/xt_tcpmss.cの53から68行目で、TCPオプションパーサは残りのオプション長を検証せずに直接op[i+1]を読み取っていました。オプションフィールドの最後のバイトがEOLまたはNOP(0または1)でない場合、コードはop[i+1]にアクセスしようとします。i + 1がoptlenと等しい場合、これは境界外読み取りを引き起こし、optlenの境界を超えたメモリ(スタックバッファの_optまたは後続のペイロード)を読み取ってしまう可能性がありました。
Linuxカーネルにおいて、media: qcom: camss: vfe: vfe_isr_reg_update() 関数の境界外アクセスの脆弱性が修正されました。vfe_isr() 関数は MSM_VFE_IMAGE_MASTERS_NUM(7) をループの上限として使用し、vfe-line[] 配列の境界を超えるインデックスでアクセスしていましたが、vfe-line[] は VFE_LINE_NUM_MAX(4) で定義されています。この問題は、出力ラインと書き込みマスターを別々のループで処理することにより修正されました。
Linuxカーネルにおいて、以下の脆弱性が修正されました。ntb: ntb_hw_switchtecにおける配列の境界外アクセスの問題が修正されました。MW LUTの数はNTB構成に依存し、MAX_MWSに設定可能です。このパッチはmw_sizesへの無効なインデックスによる境界外アクセスから保護します。無効なアクセスが発生した場合は、設定が無効であることをユーザーに通知します。
Linuxカーネルのnetfilterのctnetlinkサブシステムに存在する脆弱性が修正されました。この脆弱性は、新しい期待値に対して明示的なヘルパーを無視する不具合に起因し、期待値の検証時に境界外のカーネルメモリを読み取る可能性がありました。この問題は、既存のマスターコネクトラックヘルパーのみを使用し、それ以外のユーザー空間によるヘルパーの提案を無視することで解決されました。これにより、カーネルのメモリ安全性が向上しました。CTA_EXPECT_HELP_NAMEは引き続きnetlinkダンプを通じてユーザー空間にヘルパー名を提供するために使用されています。
Linuxカーネルにおいて、以下の脆弱性が修正されました。mplsのplatform_labelペアを保護するためにseqcountが追加されました。RCU保護されたコードパス(mpls_forward、mpls_dump_routes)は、同時リサイズ(platform_mutexの下でのresize_platform_label_table)が発生した場合にplatform_labelsとplatform_labelの不整合な表示が起こる可能性があります。この不整合により、境界外アクセス(OOB)が発生する恐れがあります。このパッチはseqcountを追加し、一貫したスナップショットが取得できるようにします。なお、mpls_label_okも影響を受けるため、platform_mutexの外で行われるrtm_to_route_configのRTA_DSTに対するチェックは十分ではありません。この値はmpls_route_addおよびmpls_route_delの両方で再度mpls_label_okに渡されるため問題はありませんが、追加のチェックを削除してはいけません。
Linuxカーネルにおいて、以下の脆弱性が修正されました。fs/smb/clientのcifs_sanitize_prepath関数内で発生していた境界外読み取りの問題です。cifs_sanitize_prepathが空文字列または区切り文字のみ(例:"/")を含む文字列で呼び出された場合、現在のロジックはcursor2が進む前に*(cursor2 - 1)をチェックしようとし、その結果境界外読み取りが発生しました。このパッチでは、先頭の区切り文字を取り除いた後に早期終了チェックを追加し、パスの内容が残っていなければ関数はNULLを返すように修正しています。このバグは手動監査によって特定され、AddressSanitizerでコンパイルしたスタンドアロンのテストケースを用いて検証され、影響を受ける入力でSEGVが発生することを確認しました。
Linuxカーネルにおいて、以下の脆弱性が修正されました。mailbox: mchp-ipc-sbiのmchp_ipc_get_cluster_aggr_irq()関数における範囲外アクセスの問題を修正しました。cluster_cfg配列はオンラインCPUの数に基づいて各CPUごとの構成構造体を格納するために動的に割り当てられます。従来、この配列はhartidをインデックスとして使用していましたが、hartidは連続していなかったり配列の範囲を超える可能性があり、範囲外アクセスが発生していました。有効な範囲が保証されているfor_each_online_cpu()によって提供されるcpuidをインデックスとして使用するように変更しました。
Linuxカーネルのdrm/xeサブシステムにおいて、madvise IOCTLでのpat_indexに対する境界チェックが不十分である脆弱性が報告されました。具体的には、xe_pat_index_get_coh_mode()関数がpat_indexの範囲検証を行わずに配列へアクセスするため、不正な値を用いることでカーネルの範囲外読み取りが発生する可能性があります。この問題はmadvise_args_are_sane()関数がpat_indexの検証を先行せずに処理を進めることに起因しています。この脆弱性が悪用されるとシステムの機密情報が漏洩するリスクを引き起こすおそれがあります。修正により、pat_indexの境界チェックが適切に実装され、またSpectre攻撃緩和のためにarray_index_nospec()が使用されるようになりました。
Linuxカーネルにおいて、以下の脆弱性が解消されました。mailbox: fw_mbox_index_xlate()関数における境界外アクセスの防止です。#mbox-cellsは少なくとも1であるべきですが、デバイスツリーには多くの#mbox-cells = 0;の例があります。その場合、対応するメールボックスコントローラーがfw_xlateおよびof_xlate関数ポインタを提供しないと、デフォルトでfw_mbox_index_xlate()が使用されます。この関数での境界チェック不足により、境界外アクセスが発生する可能性があります。
Linuxカーネルにおいて、以下の脆弱性が修正されました:dmaengine: idxdにおけるFLR後の不正なメモリアクセスの可能性を修正しました。最初のファンクションレベルリセット(FLR)が正常に終了した場合でも、2回目のFLRで保存される設定用のスクラッチエリアが割り当てられないと、不正なメモリアクセスが発生する可能性があります。FLRが完了した後は、常に解放されたスクラッチエリアをNULLに設定するようにしています。
Linuxカーネルにおいて、ext4_ext_correct_indexes関数内でp_idxの境界を検証しなかった問題によりスラブの境界外読み取りが発生する脆弱性が修正されました。オンディスクのエクステントヘッダーが破損または不正なeh_entries値を含む場合、p_idxが割り当てられたバッファの末尾を越えてアクセスできる可能性がありました。この問題は、whileループの前後でpath[k].p_idxをEXT_LAST_INDEX()に対して検証し、不正な場合は-EFSCORRUPTEDを返すことで修正されました。
Linuxカーネルにおいて、scsi: ibmvfcのibmvfc_discover_targets_done()関数に存在した境界外アクセスの脆弱性が修正されました。悪意のあるまたは侵害されたVIOサーバがmax_targetsを超えるnum_writtenの値を返すことで、割り当てられたバッファの外側にあるカーネルメモリにアクセスし、情報漏洩が発生する可能性がありました。修正ではnum_writtenの値をmax_targetsに制限して、この問題を解決しました。
Linuxカーネルにおいて、以下の脆弱性が修正されました。vt:リサイズ後の代替スクリーン退出時に古いUnicodeバッファを破棄しない問題です。enter_alt_screen()がvc_uni_linesをvc_saved_uni_linesに保存し、vc_uni_linesをNULLに設定すると、その後vc_do_resize()によるコンソールのリサイズ時にvc_uni_linesがNULLのためUnicodeバッファの再割り当てがスキップされます。しかし、vc_saved_uni_linesは元のサイズで割り当てられた古いバッファを指し続けます。後にleave_alt_screen()がvc_saved_uni_linesを復元すると、バッファの寸法がvc_rows/vc_colsと一致しません。現在の寸法を使用してUnicodeバッファを走査する操作(例:画面をクリアするcsi_J)は境界外のメモリアクセスを行い、カーネルのoopsを引き起こします。障害アドレス0x0000002000000020は、2つの隣接するu32スペース文字(0x20)がポインタとして解釈されたものであり、80x25向けに割り当てられたバッファの25エントリポインタ配列の後ろの行データ領域から読み取られていますが、240x67の寸法でアクセスされました。この問題は、代替スクリーン中にコンソールの寸法が変わったかどうかをチェックし、変わっていれば古い保存済みバッファを復元せずに解放することで修正されました。Unicodeスクリーンは次回必要となった際にvc_uniscr_check()により遅延再構築されます。
Linuxカーネルにおいて、HIDコアの脆弱性が修正されました。hid_report_raw_event()内のmemset()関数は、受信データ文字列の終わりからバッファの想定終端までの領域をゼロクリアする目的で使用されていましたが、これにより不正な読み書きが発生する可能性がありました。現在の対策として、memset()を削除し、受信イベントバッファのサイズがレポートに十分でない場合は処理を中断するように変更しています。
Linuxカーネルにおいて、以下の脆弱性が修正されました。HID: wacom: wacom_intuos_bt_irqにおける境界外読み取りの問題です。wacom_intuos_bt_irq()関数はBluetooth HIDレポートを処理しますが、十分な境界チェックが行われていませんでした。悪意を持って作成された短いレポートにより、wacom構造体へのデータコピー時に境界外読み取りが発生する可能性がありました。具体的には、レポート0x03は処理されたデータとバッテリーステータスを安全に読み取るために少なくとも22バイトを必要とし、レポート0x04(0x03にフォールスルー)は32バイトを必要とします。これらのレポートIDに対して明示的な長さチェックを追加し、短いレポートが受信された場合は警告をログに記録するようにしました。
Linuxカーネルにおいて、次の脆弱性が修正されました。io_uring/net: io_bundle_nbufs()におけるスラブの境界外読み取りの問題です。sqe-lenは__u32型ですが、sr-lenに格納されるとint型になります。ユーザースペースがINT_MAX(例:0xFFFFFFFF)を超えるsqe-lenの値を渡すと、sr-lenが負の値にオーバーフローします。この負の値がバンドルの受信/送信パス全体に伝播します。以下の流れで問題が発生します。1. io_recv(): sel.val = sr-len(ssize_tが-1となる) 2. io_recv_buf_select(): arg.max_len = sel-val(size_tが0xFFFFFFFFFFFFFFFFとなる) 3. io_ring_buffers_peek(): max_lenが非常に大きいためbuf-lenは制限されない 4. iov[].iov_lenに0xFFFFFFFFがio_bundle_nbufs()へ流れ込む 5. io_bundle_nbufs(): min_t(int, 0xFFFFFFFF, ret)が-1を返し、retが減少するのではなく増加し、確保されたiov[]配列の境界を超える無限ループが発生します。これにより、io_bundle_nbufs()でkmalloc-64スラブの範囲外の読み取りが起き、nbufsが確保されたiovecエントリを超えて増加します。バグ内容は次のとおりです。KASAN: io_bundle_nbufs+0x128/0x160におけるスラブの境界外読み取りがサイズ8でアドレスffff888100ae05c8にてタスクexp/145によって行われました。コールトレースはio_bundle_nbufs+0x128/0x160、io_recv_finish+0x117/0xe20、io_recv+0x2db/0x1160です。修正内容として、io_sendmsg_prep()およびio_recvmsg_prep()の両方で負のsr-len値を早期に拒否する対策を講じました。sqe-lenは__u32型であるため、INT_MAXを超える値はオーバーフローを示し、有効な長さではないと判断しています。
osrg GoBGP バージョン4.3.0までに脆弱性が確認されています。この問題は、コンポーネントBMP Parserのファイルpkg/packet/bmp/bmp.go内の関数BMPPeerUpNotification.ParseBodyおよびBMPStatisticsReport.ParseBodyに影響を及ぼします。この操作により境界外読み取りが発生します。この攻撃はリモートで開始される可能性があります。バージョン4.4.0へのアップグレードによってこの問題は解決されます。パッチの識別子はbc77597d42335c78464bc8e15a471d887bbdf260です。影響を受けるコンポーネントはアップグレードすることを推奨します。
Google Chromeの148.0.7778.96以前のバージョンにおいて、AdFilterの境界外読取りの脆弱性により、リモートの攻撃者が細工されたHTMLページを介してサンドボックス内で任意のコードを実行できる可能性がありました。
ModSecurityは、Apache、IIS、およびNginx向けのオープンソースかつクロスプラットフォーム対応のウェブアプリケーションファイアウォール(WAF)エンジンです。LibmodsecurityはModSecurity v3プロジェクトの一部コンポーネントです。t:hexDecode変換を使用するルールが単一文字を含むクエリ文字列パラメータを検査する際にセグメンテーションフォルトが発生します。攻撃者はこれを悪用してワーカープロセスをクラッシュさせ、サービス拒否(DoS)を引き起こす可能性があります。攻撃が停止するとワーカープロセスはセグメンテーションフォルトから回復し、サービスは再開されます。libModSecurity3のバージョン3.0.15より前のすべてのバージョンが影響を受けます。この問題はバージョン3.0.15で修正されています。
Linuxカーネルにおいて、以下の脆弱性が修正されました。net/sched: sch_netemにおけるパケット破損時の境界外アクセスの修正です。netem_enqueue()関数では、パケット破損のロジックでskb-dataの変更対象インデックスを選択するためにget_random_u32_below(skb_headlen(skb))が使用されています。AF_PACKETのTX_RINGがIPIPトンネル経由で完全に非線形なパケットを送信した場合、skb_headlen(skb)は0を返します。0をget_random_u32_below()に渡すと、制限されていない32ビットの乱数が返されます。そのため、この値をskb-dataのオフセットとして使用すると境界外メモリアクセスが発生します。この問題を修正するために、線形データ領域の破損を試みる前にskb_headlen(skb)が0でないことを検証します。完全に非線形なパケットは破損ロジックを静かに回避します。
Linuxカーネルにおいて、以下の脆弱性が修正されました:smbクライアントのsmb2_ioctl_query_info関数のQUERY_INFOパスに存在するOOB読み取りの問題です。smb2_ioctl_query_info()にはPASSTHRU_FSCTLとデフォルトのQUERY_INFOの2つのレスポンスコピー分岐があります。QUERY_INFO分岐では、qi.input_buffer_lengthをサーバーが報告したOutputBufferLengthに制限し、その後qi_rsp-Bufferからqi.input_buffer_lengthバイトをユーザースペースにコピーしますが、フレキシブル配列のペイロードがrsp_iov[1].iov_len内に収まっているかを検証していませんでした。悪意のあるサーバーは実際のQUERY_INFOレスポンスより大きいOutputBufferLengthを返すことが可能であり、その結果copy_to_user()がレスポンスバッファを越えて読み取り、隣接するカーネルヒープをユーザースペースに露出させる恐れがありました。今回の修正では、QUERY_INFOのコピー処理を実際のBufferペイロードの境界チェックで保護しています。また、32ビットビルドにおけるガードのオーバーフローを防ぐために、オープンコーディングされた加算の代わりにstruct_size(qi_rsp, Buffer, qi.input_buffer_length)を使用しています。