🇰🇷 한글 설명
Linux 커널의 RDMA/core 구성 요소에서 counter_release() 함수 호출 시 발생할 수 있는 Use-After-Free 취약점이 발견되었습니다. 기존에는 카운터와 관련된 벤더 전용 리소스가 해제된 이후에 restrack에서 제거되었으나, 이를 리소스 해제 전으로 이동하여 동기화 문제를 해결했습니다.
💡 쉬운 설명
컴퓨터 메모리에서 사용 중인 데이터가 이미 삭제되었음에도 불구하고, 시스템이 이를 계속 참조하려고 시도할 때 발생하는 오류입니다. 이로 인해 시스템이 불안정해지거나 보안 문제가 생길 수 있어, 데이터 삭제 순서를 올바르게 수정했습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
RDMA/core: Fix potential use after free in counter_release()
When accessing a counter via the netlink path the only synchronization
mechanism for the said counter is rdma_restrack_get().
Currently, rdma_restrack_del() is invoked at the end of
counter_release(), which is too late, since by that point
vendor-specific resources associated with the counter might already be
freed. This can leave a short window where the counter remains
accessible through restrack, leading to a potential use-after-free.
Fix this by moving the rdma_restrack_del() call to be before the
freeing of the vendor-specific resources, ensuring that the counter is
removed from restrack before its internal resources are released.
This guarantees that no new users hold references to a counter that is
in the process of destruction.
📍 영향받는 시스템
RDMA 기능을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
Netlink 경로를 통해 카운터에 접근하여 특정 타이밍에 리소스를 해제하도록 유도하는 방식
🛡️ 대응 방법
RDMA 관련 커널 패치를 적용하여 최신 안정화 버전의 Linux 커널로 업데이트
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인