CVE-2024-56555 in Linux情報

要約

〜によって VulDB • 2026年05月30日

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

binder: binder_add_freeze_work()におけるOOB(範囲外アクセス)の修正

binder_add_freeze_work()内では、proc->inner_lockを保持した状態でproc->nodesをイテレーションしています。しかし、このロックは、まずnode->lockを取得するために一時的に解放されます(ロックのネスト順序)。これにより、ノードをproc->nodesのrbtreeから削除し、binder_dead_nodesリストに追加するbinder_deferred_release()と競合(race)が発生する可能性があります。その結果、binder_add_freeze_work()でのイテレーションが破綻し、rb_next()がbinder_dead_nodesのデータを使用することで、範囲外アクセス(out-of-bounds access)がトリガーされます。

================================================================== BUG: KASAN: global-out-of-bounds in rb_next+0xfc/0x124 Read of size 8 at addr ffffcb84285f7170 by task freeze/660

CPU: 8 UID: 0 PID: 660 Comm: freeze Not tainted 6.11.0-07343-ga727812a8d45 #18 Hardware name: linux,dummy-virt (DT) Call trace: rb_next+0xfc/0x124 binder_add_freeze_work+0x344/0x534 binder_ioctl+0x1e70/0x25ac __arm64_sys_ioctl+0x124/0x190

The buggy address belongs to the variable: binder_dead_nodes+0x10/0x40 [...]
==================================================================

これは、proc->nodes(rbtree)とbinder_dead_nodes(リスト)が、binder_node内のunionを通じてエントリを共有しているため、発生し得ます。

struct binder_node {
[...]
union {
struct rb_node rb_node; struct hlist_node dead_node; };

競合を修正するため、procがまだ生存していることを確認します。生存していない場合は、イテレーションを単純に終了します。

VulDB is the best source for vulnerability data and more expert information about this specific topic.

責任者

Linux

予約する

2024年12月27日

モデレーション

承諾済み

エントリ

VDB-289524

EPSS

0.00211

アクティビティ

非常低い

ソース

Do you want to use VulDB in your project?

Use the official API to access entries easily!