🇰🇷 한글 설명
Linux 커널의 comedi_parport 드라이버에서 인터럽트 핸들러가 하드웨어 초기화 전에 호출되어 일반 보호 결함(General Protection Fault)이 발생하는 취약점입니다. 드라이버의 초기화 순서 문제로 인해 하드웨어가 완전히 준비되지 않은 상태에서 인터럽트가 발생할 경우 시스템 오류가 유발될 수 있습니다.
💡 쉬운 설명
컴퓨터 부품이 준비되기도 전에 신호가 먼저 들어와서 시스템이 당황하여 멈추거나 오류를 일으키는 문제입니다. 부품 준비가 끝난 것을 확인한 후에 신호를 받도록 순서를 바로잡았습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
comedi: comedi_parport: deal with premature interrupt
Syzbot reported a general protection fault in
`comedi_get_is_subdevice_running()`, which was called from the interrupt
handler `parport_interrupt()` in the "comedi_parport" driver, but it
does not currently have a C reproducer for the problem. It's
probably due to a premature interrupt for one of two reasons:
1. The driver sets up the interrupt handler before the comedi subdevices
used by the interrupt handler have been allocated, but does not
disable the interrupt in the parallel port's CTRL register first.
2. The driver uses a user-supplied I/O port base address which Syzbot
would have supplied, but it might not be backed by real parallel port
hardware.
Change the initialization order in the driver's comedi "attach" handler
(`parport_attach()`) so that the hardware registers are initialized
before the interrupt handler is requested. This should prevent
premature interrupts occurring for real hardware.
Also add a test to the interrupt handler to ensure the comedi device is
fully attached and return early if it isn't.
📍 영향받는 시스템
Linux kernel (comedi_parport driver 포함 버전)
⚔️ 공격 벡터
특수하게 조작된 I/O 포트 주소를 사용하거나 하드웨어 인터럽트를 조기에 발생시켜 시스템 충돌 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인
💻 영향받는 소프트웨어
NVIDIA vGPU Guest Driver for Linux