🇰🇷 한글 설명
Linux 커널의 EDAC/altera 드라이버에서 altr_edac_a10_device_add()와 altr_portb_setup() 함수의 오류 처리 경로가 devres 그룹을 해제하기 전에 dci 구조체를 먼저 해제하여 use-after-free 취약점이 발생합니다. 관리되는 단일/이중 비트 IRQ 핸들러가 이미 해제된 메모리를 참조할 수 있습니다.
💡 쉬운 설명
메모리를 이미 지운 뒤에도 그 메모리를 다시 사용하려는 버그입니다. 이로 인해 시스템이 불안정해지거나 공격자가 이를 악용할 가능성이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
EDAC/altera: Fix use-after-free in error paths
In both altr_edac_a10_device_add() and altr_portb_setup(), the error path
freed the dci structure before releasing the devres group. Since the managed
single and double bit IRQ handlers use altdev(dci->pvt_info) as their data, an
IRQ firing between freeing dci and unregistering the IRQs could dereference
the freed memory.
Release the devres group first so the managed IRQs are unregistered
before the dci structure is freed.
📍 영향받는 시스템
Intel/Altera Arria 10 EDAC 드라이버를 사용하는 수정 전 Linux 커널 버전 (CVSS 점수 미정)
⚔️ 공격 벡터
로컬 시스템에서 IRQ 발생 타이밍을 조작해 해제된 메모리를 참조하도록 유도하는 방식으로 추정되며, 구체적 공격 시나리오는 확인되지 않음
🛡️ 대응 방법
패치가 적용된 최신 Linux 커널로 업데이트하거나 해당 커널 커밋을 적용하세요.
🔧 검증 코드
커널 버전을 확인하고 altera EDAC 모듈 존재 여부를 점검합니다. 모듈이 없으면 이 취약점의 영향을 받지 않으며, 있으면 커널 버전이 패치된 버전인지 벤더 공지로 확인해야 합니다.
uname -r && grep -l altr_edac /lib/modules/$(uname -r)/kernel/drivers/edac/*.ko* 2>/dev/null