製品・ソフトウェアに関する情報
LinuxのLinux Kernelにおける不特定の脆弱性
Title LinuxのLinux Kernelにおける不特定の脆弱性
Summary

Linuxカーネルにおいて、以下の脆弱性が修正されました。rust_binderは、vmaを使用する前に所有権を確認します。Rust Binderは、不足しているページをインストール(または削除)する際に、アドレスでmm内のvmaを検索し、vm_insert_page(またはzap_page_range_single)を呼び出します。しかし、vmaが閉じられて同じアドレスに別のvmaが置き換わった場合、Rust Binderは誤ったvmaにページをインストールしてしまう可能性があります。書き込み可能なvmaにページをインストールすることで、本来は読み取り専用のバインダーページに書き込みが可能になります。これらのページに書き込むことは本来できませんが、Rust Binderの設計意図では、この権限を得ても悪影響は生じないと考えられていました。ところが別のバグにより、そうではありませんでした。この問題を修正するために、vm_private_dataにポインタを格納し、vma_lookup()で返されるvmaが正しいvm_opsとvm_private_dataを持つことを使用前に確認するようにしました。これにより、Rust Binderが他のVMAと不正に関わることを防ぎます。今後は、vm_opsやvm_private_dataへの安全でないアクセスを避けるため、より多くのvma抽象化を導入する計画ですが、まずは最も簡単な修正から始めます。C Binderはやや異なる方法で同様のチェックを行っており、vm_ops-closeでbooleanをtrueに設定し、vma_lookup()後にそのbooleanを確認しますが、本パッチの解決策のほうが堅牢です(両方行うことが望ましいですが、vm_ops-closeコールバックは後続のvma API変更の一部として追加予定です)。vmaのリマップにより、ページが正しいvmaに表示されても誤ったオフセットになる問題は依然として存在しますが、これは別問題であり、Rust Binderにvm_ops-closeコールバックが追加される際に修正されます。

Possible impacts 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
Solution

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。

Publication Date May 8, 2026, midnight
Registration Date May 28, 2026, 2:40 p.m.
Last Update May 28, 2026, 2:40 p.m.
CVSS3.0 : 重要
Score 7.8
Vector CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Affected System
Linux
Linux Kernel 6.18 以上 6.18.19 未満
Linux Kernel 6.19 以上 6.19.9 未満
Linux Kernel 7.0
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
その他
Change Log
No Changed Details Date of change
1 [2026年05月28日]
  掲載
May 28, 2026, 2:40 p.m.

NVD Vulnerability Information
CVE-2026-43434
Summary

In the Linux kernel, the following vulnerability has been resolved:

rust_binder: check ownership before using vma

When installing missing pages (or zapping them), Rust Binder will look
up the vma in the mm by address, and then call vm_insert_page (or
zap_page_range_single). However, if the vma is closed and replaced with
a different vma at the same address, this can lead to Rust Binder
installing pages into the wrong vma.

By installing the page into a writable vma, it becomes possible to write
to your own binder pages, which are normally read-only. Although you're
not supposed to be able to write to those pages, the intent behind the
design of Rust Binder is that even if you get that ability, it should not
lead to anything bad. Unfortunately, due to another bug, that is not the
case.

To fix this, store a pointer in vm_private_data and check that the vma
returned by vma_lookup() has the right vm_ops and vm_private_data before
trying to use the vma. This should ensure that Rust Binder will refuse
to interact with any other VMA. The plan is to introduce more vma
abstractions to avoid this unsafe access to vm_ops and vm_private_data,
but for now let's start with the simplest possible fix.

C Binder performs the same check in a slightly different way: it
provides a vm_ops->close that sets a boolean to true, then checks that
boolean after calling vma_lookup(), but this is more fragile
than the solution in this patch. (We probably still want to do both, but
the vm_ops->close callback will be added later as part of the follow-up
vma API changes.)

It's still possible to remap the vma so that pages appear in the right
vma, but at the wrong offset, but this is a separate issue and will be
fixed when Rust Binder gets a vm_ops->close callback.

Publication Date May 9, 2026, 12:16 a.m.
Registration Date May 9, 2026, 4:15 a.m.
Last Update May 12, 2026, 11:10 p.m.
Related information, measures and tools
Common Vulnerabilities List