🇰🇷 한글 설명
Linux 커널의 ARM SCMI 펌웨어 드라이버에서 BASE_ERROR_EVENT 알림을 처리할 때, 수신된 페이로드가 error_status에 명시된 보고 항목 수를 모두 포함하는지 검증하지 않는 문제입니다. 잘린(truncated) 페이로드를 거부하도록 수정되었습니다.
💡 쉬운 설명
컴퓨터의 하드웨어 관리 신호를 처리하는 부분에서 데이터 길이를 확인하지 않아 잘못된 데이터를 읽을 수 있습니다. 커널 업데이트로 잘린 데이터를 거부하도록 수정되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
firmware: arm_scmi: Validate BASE_ERROR_EVENT payload size
BASE_ERROR_EVENT carries a variable number of message reports,
with the count encoded in error_status. The notification parser used
that count without checking whether the received payload contained all
reported entries.
Reject truncated payloads before copying the report array.
📍 영향받는 시스템
ARM SCMI 드라이버를 포함한 수정 이전 Linux 커널 버전 (정확한 영향 버전은 해당 커널 패치 이력 확인 필요)
⚔️ 공격 벡터
손상되거나 조작된 SCMI 에러 이벤트 페이로드를 펌웨어 채널을 통해 전달하여 경계 외 메모리 읽기 등을 유발할 수 있는 것으로 보이나, 공개된 정보가 제한적임
🛡️ 대응 방법
배포판 벤더가 제공하는 최신 Linux 커널 보안 업데이트를 적용하고 재부팅합니다.
🔧 검증 코드
출력된 커널 버전을 배포판의 보안 공지 및 패치 목록과 대조하여 해당 수정이 포함되었는지 확인하고, 파일 경로가 출력되면 해당 드라이버가 존재하는 것입니다.
uname -r && grep -rl 'BASE_ERROR_EVENT' /lib/modules/$(uname -r) 2>/dev/null | head -5