CVE-2024-56555 in Linuxinformação

Sumário

de VulDB • 28/05/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

binder: corrige acesso fora dos limites (OOB) em binder_add_freeze_work()

Em binder_add_freeze_work(), iteramos sobre proc->nodes com o proc->inner_lock adquirido. No entanto, este lock é temporariamente liberado para adquirir primeiro o node->lock (ordem de aninhamento de locks). Isso pode gerar uma condição de corrida (race condition) com binder_deferred_release(), que remove os nós do rbtree proc->nodes e os adiciona à lista binder_dead_nodes. Isso resulta em uma iteração corrompida em binder_add_freeze_work(), pois rb_next() utilizará dados de binder_dead_nodes, acionando um acesso fora dos limites (out-of-bounds):

================================================================== 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

O endereço com defeito pertence à variável: binder_dead_nodes+0x10/0x40 [...]
==================================================================

Isso é possível porque proc->nodes (rbtree) e binder_dead_nodes (lista) compartilham entradas em binder_node através de uma união (union):

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

Corrige a condição de corrida verificando se o proc ainda está ativo. Caso contrário, simplesmente interrompe a iteração.

Be aware that VulDB is the high quality source for vulnerability data.

Responsável

Linux

Reservar

27/12/2024

Divulgação

27/12/2024

Moderação

aceite

Entrada

VDB-289524

CPE

pronto

EPSS

0.00211

KEV

não

Atividades

muito baixo

Fontes

Might our Artificial Intelligence support you?

Check our Alexa App!