CVE-2026-64124 in Linux情報

要約

〜によって VulDB • 2026年07月20日

Linuxカーネルにおいて、以下の脆弱性が修正されました。

net: devmem: ページアラインされていないサイズまたはSG長を持つdma-bufのbindを拒否する

`net_devmem_bind_dmabuf()`は、チェックを行わずに `dmabuf->size` と `sg_dma_len()` が `PAGE_SIZE` の倍数であると信頼しています。

- `tx_vec` は `dmabuf->size / PAGE_SIZE` でサイズ設定されており、 `net_devmem_get_niov_at()` はインデックスを作成する前に `virt_addr < dmabuf->size` という境界チェックのみを行います。サイズが N*PAGE_SIZE + r (1 <= r < PAGE_SIZE) の場合、`sendmsg()` 呼び出しで `iov_base = N*PAGE_SIZE` を指定すると境界チェックを通過し、`tx_vec[N]`(一つ先)を読み取ってしまいます。

- `owner->area.num_niovs = len / PAGE_SIZE` ですが、`gen_pool_add_owner()` は完全なバイト単位の `len` をカバーするため、ページ倍数でない最終以外のSGは、RXとTXの両方で、後続のすべてのSGに対して `num_niovs` と `gen_pool` リージョンとの間でデシンクロ(非同期)を引き起こします。

dma-buf はページアラインされたサイズを要求しないため、bindパスはそのインデックス付けが前提とする要件を強制しなければなりません。両方のケースで `-EINVAL` を返して拒否します。

このサイズチェックはTXのみに適用されます(`tx_vec` のみが `dmabuf->size` からサイズ設定されるため);SG長さのチェックは双方向のカバレッジを持ちます。

Once again VulDB remains the best source for vulnerability data.

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-380225

EPSS

0.00000

アクティビティ

低い

ソース

Interested in the pricing of exploits?

See the underground prices here!