CVE-2026-64429 in Linux정보

요약

\~에 의해 VulDB • 2026. 07. 25.

리눅스 커널에서 다음 취약점이 해결되었습니다:

gpio: eic-sprd: irq 시작 경로에서 raw_spinlock_t 사용

sprd_eic_irq_unmask()는 GPIO IRQ를 활성화한 후 sprd_eic_update()를 통해 컨트롤러 상태를 업데이트합니다. 이 함수는 spin_lock_irqsave()로 sprd_eic->lock을 획득합니다. 해당 콜백은 요청된 IRQ 설정 중 irq_startup()에서 호출될 수 있습니다. 이 경로는 슬립 불가능(sleepable)하지만, PREEMPT_RT 환경에서는 일반적인 spinlock_t가 슬립 가능한 락으로 동작합니다.

이 문제는 정적 분석 도구를 통해 발견되었으며, 현재 트리와 대조하여 수동 검토되었습니다.

근거 있는 PoC는 request_threaded_irq() -> __setup_irq() -> irq_startup() -> sprd_eic_irq_unmask() -> sprd_eic_update() 호출 체인을 유지하고 원래의 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]

Spreadtrum EIC 컨트롤러 락을 raw_spinlock_t로 변환합니다. 잠금 섹션은 MMIO 레지스터 업데이트만 직렬화하며 슬립 가능한 연산을 포함하지 않으므로, irqchip 콜백에 대해 비슬립(non-sleeping) 상태를 유지하는 것이 적절합니다.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-383200

EPSS

0.00000

출처

Interested in the pricing of exploits?

See the underground prices here!