CVE-2026-64428 in Linux정보

요약

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

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

gpio: sch: IRQ 시작 경로에서 raw_spinlock_t 사용

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

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

기반 PoC는 request_threaded_irq() -> __setup_irq() -> irq_startup() -> sch_irq_unmask() -> sch_irq_mask_unmask() 호출 체인을 유지하고 원래의 spin_lock_irqsave(&sch->lock) 엣지를 사용했습니다. Lockdep은 다음과 같은 보고를 생성했습니다:

BUG: sleeping function called from invalid context hardirqs last disabled at ... __setup_irq.constprop.0 ... [vuln_msv]
sch_rt_spin_lock_irqsave+0x1c/0x30 [vuln_msv]
sch_irq_mask_unmask.constprop.0+0x31/0x70 [vuln_msv]
__setup_irq.constprop.0+0xd/0x30 [vuln_msv]

SCH 컨트롤러 락을 raw_spinlock_t로 변환합니다. 동일한 락은 GPIO 방향 및 값 콜백에서도 사용되지만, 이러한 임계 섹션에서는 MMIO 기반 GPIO 레지스터만 업데이트하며 슬립 가능한 연산을 포함하지 않습니다. 따라서 이 레지스터 락을 비슬립 상태로 유지하는 것은 irqchip 콜백에 적절하며, GPIO 측의 락 계약에도 변경이 없습니다.

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

책임이 있는

Linux

예약하다

2026. 07. 19.

모더레이션

수락

항목

VDB-383199

EPSS

0.00215

활동

낮음

출처

Want to know what is going to be exploited?

We predict KEV entries!