🇰🇷 한글 설명
Linux 커널의 RDMA/siw 구성 요소에서 siw_accept() 함수 호출 시 발생하는 Use-After-Free 취약점입니다. 이미 RTS 상태인 QP를 처리하는 과정에서 잘못된 참조 해제로 인해 메모리가 해제된 후 다시 접근하게 되어 시스템 불안정이나 권한 상승을 초래할 수 있습니다.
💡 쉬운 설명
컴퓨터가 이미 사용 중인 통신 통로를 다시 연결하려다 실수로 메모리 정보를 잘못 지워버리는 문제입니다. 이로 인해 시스템이 갑자기 멈추거나 해커가 시스템 제어권을 얻을 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
RDMA/siw: Fix use-after-free in siw_accept()
siw_accept() looks up the QP supplied by userspace. If that QP is
already in RTS, the function jumps to error cleanup before associating
the incoming CEP with it.
The cleanup tests whether qp->cep is non-NULL and assumes the current
call installed the association. However, qp->cep can point to the CEP
of an existing connection. The cleanup then drops a reference from the
incoming cep, not qp->cep. Once the incoming endpoint loses its
remaining references, this can free it before the subsequent cep->qp
store, causing a use-after-free. It also clears the existing QP
association.
Only release the association reference when qp->cep is the incoming
CEP. This preserves an existing association and avoids accessing the
freed endpoint.
📍 영향받는 시스템
RDMA/siw 모듈을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
사용자 공간에서 조작된 QP(Queue Pair)를 제공하여 siw_accept() 함수를 호출함으로써 발생
🛡️ 대응 방법
해당 취약점이 수정된 최신 Linux 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 패치 버전인지 배포판 보안 공지를 통해 확인