🇰🇷 한글 설명
Linux 커널의 net/sched/sch_multiq.c에서 multiq_tune() 함수의 메모리 할당 순서 오류로 인한 out-of-bounds 쓰기 취약점입니다. q->bands가 kmalloc 이후에 재할당되지만, 이전 값으로 메모리를 할당하여 경계 초과 쓰기 작업이 발생합니다. 이를 통해 메모리 손상 및 권한 상승이 가능합니다.
💡 쉬운 설명
Linux의 네트워크 대역폭 관리 기능에서 메모리를 잘못 할당하는 버그입니다. 특정 설정 변경 시 시스템 메모리를 손상시켜 악의적인 접근에 이용될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: sched: sch_multiq: fix possible OOB write in multiq_tune()
q->bands will be assigned to qopt->bands to execute subsequent code logic
after kmalloc. So the old q->bands should not be used in kmalloc.
Otherwise, an out-of-bounds write will occur.
📍 영향받는 시스템
Linux kernel 5.18 이상 (net/sched 스케줄러 포함된 모든 배포판)
⚔️ 공격 벡터
로컬 권한 사용자가 tc(traffic control) 명령어로 multiq qdisc 설정을 조작하여 메모리 쓰기 오류 유발
🛡️ 대응 방법
Linux 커널을 최신 패치가 적용된 버전으로 업데이트 실행
🔧 검증 코드
커널 버전을 확인하고 dmesg 로그에서 관련 오류 메시지가 있는지 확인하여 취약점 여부 판단
uname -r | grep -E '[0-9]+\.[0-9]+' && dmesg | grep -i 'multiq\|out of bounds' || echo 'kernel version check complete'