🇰🇷 한글 설명
리눅스 커널의 net/sched cls_u32 모듈에서 skb_header_pointer() 함수가 음수 오프셋 값을 완전히 검증하지 못하는 취약점이 발견되었습니다. 이로 인해 u32_classify() 함수 실행 중 slab-out-of-bounds 오류가 발생하여 메모리 손상이 일어날 수 있습니다.
💡 쉬운 설명
네트워크 데이터를 처리하는 과정에서 잘못된 위치를 참조하여 메모리 영역을 벗어나는 오류가 발생할 수 있습니다. 공격자가 이를 악용하면 시스템의 메모리를 조작하거나 비정상적인 동작을 유도할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net/sched: cls_u32: use skb_header_pointer_careful()
skb_header_pointer() does not fully validate negative @offset values.
Use skb_header_pointer_careful() instead.
GangMin Kim provided a report and a repro fooling u32_classify():
BUG: KASAN: slab-out-of-bounds in u32_classify+0x1180/0x11b0
net/sched/cls_u32.c:221
📍 영향받는 시스템
Linux Kernel (cls_u32 모듈을 사용하는 버전)
⚔️ 공격 벡터
조작된 네트워크 패킷을 전송하여 cls_u32 분류 과정에서 음수 오프셋을 유도하는 방식
🛡️ 대응 방법
skb_header_pointer() 대신 검증 기능이 강화된 skb_header_pointer_careful()를 사용하도록 커널을 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인하십시오.