🇰🇷 한글 설명
Linux 커널의 drm/bridge: adv7511 드라이버에서, probe 과정 중 IRQ가 이미 대기 중일 때 CEC 메시지 처리 함수가 초기화되지 않은 데이터를 사용해 커널 크래시가 발생하는 문제입니다. 이를 해결하기 위해 IRQ 등록 위치를 adv7511_probe() 함수 끝으로 옮겼습니다.
💡 쉬운 설명
기기 부팅 과정에서 디스플레이 칩 드라이버가 준비되기 전에 인터럽트 신호가 들어오면 시스템이 갑자기 멈출 수 있는 결함입니다. 드라이버 초기화 순서를 조정해 이 문제를 막았습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/bridge: adv7511: fix crash on irq during probe
Moved IRQ registration down to end of adv7511_probe().
If an IRQ already is pending during adv7511_probe
(before adv7511_cec_init) then cec_received_msg_ts
could crash using uninitialized data:
Unable to handle kernel read from unreadable memory at virtual address 00000000000003d5
Internal error: Oops: 96000004 [#1] PREEMPT_RT SMP
Call trace:
cec_received_msg_ts+0x48/0x990 [cec]
adv7511_cec_irq_process+0x1cc/0x308 [adv7511]
adv7511_irq_process+0xd8/0x120 [adv7511]
adv7511_irq_handler+0x1c/0x30 [adv7511]
irq_thread_fn+0x30/0xa0
irq_thread+0x14c/0x238
kthread+0x190/0x1a8
📍 영향받는 시스템
ADV7511 HDMI 브리지 칩 드라이버를 사용하는 수정 이전의 Linux 커널 버전(adv7511 드라이버 포함 빌드)
⚔️ 공격 벡터
로컬 또는 하드웨어 인터럽트 타이밍에 의존하며, 원격에서 직접 악용하기 어렵고 시스템 크래시(서비스 거부)를 유발할 수 있음
🛡️ 대응 방법
패치가 적용된 최신 Linux 커널 버전으로 업데이트하거나 배포판 보안 업데이트를 설치
🔧 검증 코드
출력된 커널 버전이 배포판의 수정 패치 포함 버전 이상인지 확인하고, adv7511 모듈이 로드되어 있지 않다면 이 취약점의 영향을 받지 않을 가능성이 높습니다.
uname -r && grep -i adv7511 /proc/modules 2>/dev/null || lsmod | grep -i adv7511