🇰🇷 한글 설명
Linux 커널의 mlx5e 드라이버에서 SHAMPO 모드 사용 시, 이미 처리되어 연결 리스트에서 제거된 WQE에 대해 0개의 스트라이드가 소비되었다는 CQE가 중복 수신될 수 있습니다. 이로 인해 동일한 WQE에 대해 추가적인 언링크 작업이 발생하여 연결 리스트가 손상되는 취약점입니다.
💡 쉬운 설명
네트워크 장치와 통신하는 과정에서 이미 끝난 작업이 다시 끝났다는 잘못된 신호를 보내 시스템의 관리 목록을 엉망으로 만드는 오류입니다. 이로 인해 시스템이 충돌하거나 예상치 못한 동작을 할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net/mlx5e: SHAMPO, Fix invalid WQ linked list unlink
When all the strides in a WQE have been consumed, the WQE is unlinked
from the WQ linked list (mlx5_wq_ll_pop()). For SHAMPO, it is possible
to receive CQEs with 0 consumed strides for the same WQE even after the
WQE is fully consumed and unlinked. This triggers an additional unlink
for the same wqe which corrupts the linked list.
Fix this scenario by accepting 0 sized consumed strides without
unlinking the WQE again.
📍 영향받는 시스템
Linux kernel (mlx5e driver using SHAMPO mode)
⚔️ 공격 벡터
특수하게 조작된 네트워크 패킷(CQE)을 전송하여 커널 메모리 내의 연결 리스트를 손상시킴
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인