🇰🇷 한글 설명
Linux 커널의 mlx5 네트워크 드라이버에서 명령 큐 세마포어를 획득할 때 타임아웃이 없어 발생하는 취약점입니다. 인덱스가 할당되지 않은 항목에 대해 강제 완료 처리를 시도할 경우, 잘못된 인덱스(-22)로 인한 경계 외 메모리 접근(Out-of-bounds access)이 발생할 수 있습니다.
💡 쉬운 설명
네트워크 장치를 제어하는 과정에서 프로그램이 무한정 기다리다가 잘못된 메모리 위치를 건드려 시스템 오류를 일으킬 수 있는 문제입니다. 이로 인해 시스템이 멈추거나 예상치 못한 동작을 할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net/mlx5: Add a timeout to acquire the command queue semaphore
Prevent forced completion handling on an entry that has not yet been
assigned an index, causing an out of bounds access on idx = -22.
Instead of waiting indefinitely for the sem, blocking flow now waits for
index to be allocated or a sem acquisition timeout before beginning the
timer for FW completion.
Kernel log example:
mlx5_core 0000:06:00.0: wait_func_handle_exec_timeout:1128:(pid 185911): cmd[-22]: CREATE_UCTX(0xa04) No done completion
📍 영향받는 시스템
Mellanox(mlx5) 네트워크 드라이버를 사용하는 Linux 커널 버전
⚔️ 공격 벡터
특수하게 조작된 네트워크 명령을 통해 드라이버의 세마포어 획득 과정을 방해하여 메모리 오류 유도
🛡️ 대응 방법
해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전을 확인하여 취약점이 해결된 패치 버전 이상인지 확인