🇰🇷 한글 설명
리눅스 커널의 MCTP 네트워크 스택에서 패킷 재조립 시 frag_list가 다른 패킷과 공유되는 취약점이 발견되었습니다. 이로 인해 패킷 복제 시 잘못된 재조립이 발생하거나, 파편과 skb_shared_info 간의 순환 참조로 인한 메모리 누수가 발생할 수 있습니다.
💡 쉬운 설명
네트워크 데이터를 다시 합치는 과정에서 데이터 조각들이 서로 엉키거나 메모리를 계속 잡아먹는 문제가 있습니다. 이로 인해 시스템 성능이 떨어지거나 데이터가 잘못 처리될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: mctp: unshare packets when reassembling
Ensure that the frag_list used for reassembly isn't shared with other
packets. This avoids incorrect reassembly when packets are cloned, and
prevents a memory leak due to circular references between fragments and
their skb_shared_info.
The upcoming MCTP-over-USB driver uses skb_clone which can trigger the
problem - other MCTP drivers don't share SKBs.
A kunit test is added to reproduce the issue.
📍 영향받는 시스템
MCTP 프로토콜을 사용하는 리눅스 커널 (특히 MCTP-over-USB 드라이버 사용 환경)
⚔️ 공격 벡터
특수하게 조작된 MCTP 패킷을 전송하여 메모리 누수를 유발하거나 데이터 재조립 오류를 유도함
🛡️ 대응 방법
MCTP 관련 패치가 적용된 최신 리눅스 커널 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인