🇰🇷 한글 설명
Linux 커널의 sfq 스케줄러에서 quantum 값을 매우 작게 설정할 경우, deficit-refill 루프가 과도하게 반복되어 시스템이 멈추는 소프트 락업(soft lockup) 현상이 발생합니다. 이 취약점은 특정 조건에서 커널 자원을 독점하여 서비스 거부(DoS) 상태를 유발할 수 있습니다.
💡 쉬운 설명
네트워크 설정 값을 조작하여 컴퓨터의 핵심 엔진인 커널을 무한 루프에 빠뜨리는 공격입니다. 이로 인해 시스템이 응답하지 않거나 멈추는 현상이 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net/sched: sfq: clamp quantum in change path
sfq_change() accepts any non-negative quantum (only rejects
(int)ctl->quantum < 0). With a crafted size table qdisc_pkt_len reaches
~2 GiB, so quantum=1 makes the deficit-refill loop spin ~2^31 times
under the qdisc lock (a soft lockup / denial of service).
Add max(256U, ...) matching fq_codel_change(). Reject quantum > 1<<20
with -EINVAL, matching fq_codel_change() and the init clamp.
Conditions to recreate the bug:
CONFIG_NET_SCH_SFQ=y. Requires CAP_NET_ADMIN (namespace-local via
unshare -Urn suffices).
tc qdisc add dev dummy0 root sfq
tc qdisc change dev dummy0 root sfq quantum 1 stab data 32768 size_log 15 cell_log 0
📍 영향받는 시스템
CONFIG_NET_SCH_SFQ 옵션이 활성화된 Linux 커널
⚔️ 공격 벡터
CAP_NET_ADMIN 권한을 가진 사용자가 tc 명령어를 통해 비정상적으로 작은 quantum 값을 설정하여 공격
🛡️ 대응 방법
커널 패치를 적용하여 sfq_change() 함수에서 quantum 값이 일정 수준(1<<20)을 초과하지 않도록 제한
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인하십시오.