🇰🇷 한글 설명
Linux 커널의 arm_mpam 구성 요소에서 에러 인터럽트 발생 후 mpam_disable()이 실행된 상태로 MSC를 언바인딩할 때 NULL 포인터 역참조가 발생합니다. mpam_disable()이 drvdata를 NULL로 설정하기 때문에 발생하는 문제이며, 드라이버 제거 콜백에 조기 반환 로직을 추가하여 이를 해결했습니다.
💡 쉬운 설명
시스템 오류가 발생하여 특정 기능이 꺼진 상태에서 해당 기능을 강제로 해제하려고 하면 시스템이 참조할 수 없는 빈 주소를 건드려 오류가 발생할 수 있습니다. 이 문제는 소프트웨어가 빈 주소를 확인하지 않고 접근하려 할 때 발생하는 충돌 문제입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
arm_mpam: Fix a NULL pointer dereference on unbinding after an error interrupt
If a user unbinds an MSC after mpam_disable() has been run in response
to an error interrupt then a dereference of a NULL pointer occurs as
mpam_disable() sets the drvdata to NULL. Add an early return to the driver
remove callback to avoid this.
📍 영향받는 시스템
arm_mpam 기능을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
에러 인터럽트 유도 후 특정 드라이버 언바인딩을 통한 시스템 충돌(DoS) 유발
🛡️ 대응 방법
arm_mpam 관련 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이상인지 확인