🇰🇷 한글 설명
Linux 커널의 RDMA/mlx5 드라이버에서 발생한 취약점으로, devx 구독 이벤트 해제 과정 중 초기화되지 않은 필드를 참조하여 NULL 포인터 역참조가 발생할 수 있습니다. 이로 인해 시스템 충돌이나 커널 패닉이 발생할 가능성이 있습니다.
💡 쉬운 설명
컴퓨터의 통신 부품을 관리하는 프로그램에서 오류가 발생했을 때, 정리 작업을 제대로 하지 못해 시스템이 멈출 수 있는 문제입니다. 잘못된 메모리 주소를 참조하여 발생하는 오류입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
RDMA/mlx5: Fix devx subscribe-event unwind NULL dereference
MLX5_IB_METHOD_DEVX_SUBSCRIBE_EVENT() links event_sub into sub_list
before initializing the fields used by the shared error path.
If eventfd_ctx_fdget() then fails, the unwind path dereferences
event_sub->ev_file in uverbs_uobject_put() and calls
subscribe_event_xa_dealloc() with an unset xa_key_level1.
subscribe_event_xa_alloc() creates the XA entry exactly once for a given
key_level1, on the first occurrence of that key. The unwind path must
therefore call subscribe_event_xa_dealloc() exactly once for it as well.
Enforce that by adding devx_key_in_sub_list() and calling
subscribe_event_xa_dealloc() only when the last matching pending entry is
being cleaned up.
📍 영향받는 시스템
RDMA/mlx5 드라이버를 사용하는 Linux 커널 버전
⚔️ 공격 벡터
로컬 공격자가 특정 RDMA 이벤트를 구독하고 강제로 오류를 유도하여 커널 패닉을 일으킴
🛡️ 대응 방법
해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 패치 버전 이후인지 확인