🇰🇷 한글 설명
Linux 커널의 GRO(Generic Receive Offload) 처리 중 제로 카피(skb)의 프래그먼트 병합 시 참조 카운트 검증 누락으로 인해 Use-After-Free(UAF) 취약점이 발생합니다. 이는 SKBFL_MANAGED_FRAG_REFS 플래그 설정 시 페이지 참조 관리가 제대로 이루어지지 않아 시스템 불안정이나 권한 상승을 유발할 수 있습니다.
💡 쉬운 설명
네트워크 데이터 처리 과정에서 메모리 관리 오류가 발생하여 해커가 시스템의 취약점을 악용할 수 있습니다. 이는 데이터가 잘못 처리되면서 발생하는 메모리 오류로, 시스템의 안정성을 해칠 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: gro: don't merge zcopy skbs
skb_gro_receive() can currently copy frags between the source and GRO
skb, without checking the zerocopy status, and in particular the
SKBFL_MANAGED_FRAG_REFS flag.
When SKBFL_MANAGED_FRAG_REFS is set, the skb doesn't hold a reference
on the pages in shinfo->frags. Appending those frags to another skb's
frags without fixing up the page refcount can lead to UAF.
When either the last skb in the GRO chain (the one we would append
frags to) or the source skb is zerocopy, don't merge the skbs.
📍 영향받는 시스템
Linux kernel (GRO 기능 활성화된 모든 버전)
⚔️ 공격 벡터
네트워크 패킷을 통해 제로 카피 스킵을 유도하여 메모리 손상 발생
🛡️ 대응 방법
Linux 커널 패치 적용 또는 관련 네트워크 드라이버 업데이트
🔧 검증 코드
출력된 커널 버전이 취약한 버전인지 공식 보안 공지 확인