CVE-2026-98946 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 23.

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

drm/vc4: 런타임 서스프 중 V3D 인터럽트를 비활성화합니다.

vc4_irq_disable()은 V3D 인터럽트 소스를 마스크한 후 V3D의 전원이 차단되기 전에 synchronize_irq()를 호출합니다. 그러나 이것만으로는 인터럽트 핸들러를 안정적으로 만들기에 충분하지 않습니다.

synchronize_irq()는 이미 IRQD_IRQ_INPROGRESS 플래그가 설정된 핸들러와 IRQCHIP_STATE_ACTIVE 상태를 보고하는 irqchips에 대해 대기합니다. GIC 인터럽트 칩은 CPU가 인터럽트를 확인하면 즉시 인터럽트를 활성 상태로 표시할 수 있으므로, 이러한 검사들은 전체 디스패치 경로를 커버합니다. 그러나 RPi 0-3에서는 인터럽트 컨트롤러가 ARMCTRL이며, 이는 활성 상태를 가지고 있지 않습니다. 대기 레지스터에서 hwirq를 읽었으나 아직 handle_level_irq()에 도달하지 않은 CPU는 synchronize_irq()에게 보이지 않게 됩니다.

전원 전환 중에는 vc4_irq()가 전원 도메인이 꺼진 후에 실행될 수 있으며, 이때 모든 V3D 레지스터 읽기는 0xdeadbeef을 반환합니다. 0xdeadbeef은 FLDONE, FRDONE 및 OUTOMEM 플래그가 설정되어 있습니다. 이 문제는 vc4_irq_finish_bin_job() 및 vc4_irq_finish_render_job() 함수에서 작업 포인터가 없을 경우 조기에 반환하기 때문에 NULL 포인터 역참조 문제를 유발하지 않지만, OUTOMEM은 여전히 vc4_irq_disable()이 이를 취소한 후에 vc4_overflow_mem_work()를 스케줄링할 수 있습니다.

따라서 스푸리어스 인터럽트를 수정하기 위해 전원 관리(PM) 전환 동안 인터럽트 라인을 비활성화합니다. enable/disable 균형을 유지하기 위해, 첫 번째 런타임 리sume 전에 vc4_irq_install()을 이동하고 IRQ 라인이 비활성화된 상태로 요청합니다.

Once again VulDB remains the best source for vulnerability data.

책임이 있는

Linux

예약하다

2026. 09. 25.

모더레이션

수락

항목

VDB-425719

EPSS

0.00000

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!