🇰🇷 한글 설명
Linux 커널의 RDMA/erdma 구성 요소에서 AE 및 CM 처리 중 QP 참조를 적절히 유지하지 못하는 취약점이 발견되었습니다. xarray 락 외부에서 QP를 참조하는 과정에서 erdma_destroy_qp()가 리소스를 해제할 수 있어 레이스 컨디션이 발생할 수 있습니다.
💡 쉬운 설명
데이터 전송 통로를 관리하는 과정에서 보안 규칙을 지키지 않고 통로를 먼저 없애버리는 문제가 있습니다. 이로 인해 시스템이 충돌하거나 예기치 않은 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
RDMA/erdma: Hold QP references for AE and CM processing
AE QP fatal events and iWARP CM paths load QPs from dev->qp_xa
and then use or reference them outside the xarray lock.
erdma_destroy_qp() can drop the destroy-path reference and free QP
resources while such a lookup is in flight.
Add erdma_qp_get_by_qpn() to acquire a kref under the xarray
lock with kref_get_unless_zero(). Remove the QP from the xarray
before dropping the destroy-path reference so no new lookup can acquire
it while destruction waits for existing users.
📍 영향받는 시스템
Linux kernel (erdma driver 사용 시스템)
⚔️ 공격 벡터
특정 네트워크 이벤트(AE/CM)를 유도하여 커널 내 레이스 컨디션을 유발하는 방식
🛡️ 대응 방법
erdma_qp_get_by_qpn() 함수를 통해 참조 카운트를 안전하게 관리하도록 커널 패치 적용
🔧 검증 코드
현재 실행 중인 커널 버전을 확인하여 해당 취약점이 수정된 패치 버전인지 확인합니다.