CVE-2026-64429 in Linuxinformação

Sumário

de VulDB • 25/07/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

gpio: eic-sprd: usar raw_spinlock_t no caminho de inicialização da interrupção (IRQ)

sprd_eic_irq_unmask() habilita o GPIO IRQ e atualiza em seguida o estado do controlador por meio de sprd_eic_update(), que adquire sprd_eic->lock com spin_lock_irqsave(). O callback pode ser alcançado a partir de irq_startup() durante a configuração de uma IRQ solicitada. Esse caminho não é passível de suspensão (sleepable), mas no PREEMPT_RT um regular spinlock_t torna-se um sleeping lock.

Este problema foi encontrado por nossa ferramenta de análise estática e, em seguida, revisado manualmente contra o tree atual.

O PoC grounded manteve a cadeia request_threaded_irq() -> __setup_irq() -> irq_startup() -> sprd_eic_irq_unmask() -> sprd_eic_update carrier e utilizou a edge original spin_lock_irqsave(&sprd_eic->lock). Lockdep:

BUG: sleeping function called from invalid context hardirqs last disabled at ... __setup_irq.constprop.0 ... [vuln_msv]
sprd_rt_spin_lock_irqsave+0x1c/0x30 [vuln_msv]
sprd_eic_update.constprop.0+0x48/0x90 [vuln_msv]
sprd_eic_irq_unmask.constprop.0+0x35/0x50 [vuln_msv]
__setup_irq.constprop.0+0xd/0x30 [vuln_msv]

Converta o lock do controlador Spreadtrum EIC para raw_spinlock_t. A seção bloqueada apenas serializa atualizações de registradores MMIO e não contém operações sleepable, portanto, mantê-la como non-sleeping é apropriado para os callbacks irqchip.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsável

Linux

Reservar

19/07/2026

Divulgação

25/07/2026

Moderação

aceite

Entrada

VDB-383200

CPE

pronto

EPSS

0.00220

KEV

não

Atividades

baixo

Fontes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!