🇰🇷 한글 설명
Linux 커널의 arm_scmi 펌웨어 구성 요소에서 프로토콜 테이블 등록 중 오류가 발생할 경우, 이전에 성공적으로 등록된 항목들이 해제되지 않고 남는 취약점이 발견되었습니다. 이로 인해 모듈 로드가 실패하더라도 드라이버의 ID 테이블을 가리키는 댕글링 포인터(dangling pointer)가 남아 시스템 불안정성을 초래할 수 있습니다.
💡 쉬운 설명
프로그램을 설치하다가 중간에 오류가 나면, 이미 설치된 부분들이 제대로 정리되지 않고 찌꺼기로 남는 문제입니다. 이 찌꺼기가 시스템의 메모리 주소를 잘못 가리키게 되어 시스템이 멈추거나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
firmware: arm_scmi: Roll back partial protocol table registration
scmi_protocol_table_register() can leave earlier requests registered when
a later entry in the same ID table fails. Each request retains a pointer
to the driver's ID table, so a failed module load can leave a dangling
pointer after the module storage is released.
Unrequest only the successfully registered prefix, in reverse order,
before returning the failure. Leave the failed entry and the remaining
entries untouched because matching requests can be owned by another
driver.
📍 영향받는 시스템
Linux kernel (arm_scmi firmware component)
⚔️ 공격 벡터
로컬 공격자가 특정 조건에서 모듈 로드 실패를 유도하여 메모리 손상 및 시스템 불안정성 유발
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 scmi_protocol_table_register의 롤백 로직 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인