🇰🇷 한글 설명
리눅스 커널의 sch_qfq 스케줄러에서 agg_dequeue 함수 호출 시 NULL 포인터 역참조로 인해 시스템이 충돌할 수 있는 취약점이 발견되었습니다. 이를 해결하기 위해 qdisc_peek 함수가 NULL을 반환할 경우를 대비한 예외 처리 로직이 추가되었습니다.
💡 쉬운 설명
네트워크 데이터를 처리하는 과정에서 잘못된 메모리 주소를 참조하여 컴퓨터가 갑자기 멈추거나 꺼질 수 있는 오류입니다. 패치를 통해 데이터가 비어있는 경우를 미리 확인하도록 수정되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net/sched: sch_qfq: Fix null-deref in agg_dequeue
To prevent a potential crash in agg_dequeue (net/sched/sch_qfq.c)
when cl->qdisc->ops->peek(cl->qdisc) returns NULL, we check the return
value before using it, similar to the existing approach in sch_hfsc.c.
To avoid code duplication, the following changes are made:
1. Changed qdisc_warn_nonwc(include/net/pkt_sched.h) into a static
inline function.
2. Moved qdisc_peek_len from net/sched/sch_hfsc.c to
include/net/pkt_sched.h so that sch_qfq can reuse it.
3. Applied qdisc_peek_len in agg_dequeue to avoid crashing.
📍 영향받는 시스템
Linux Kernel (sch_qfq 모듈을 사용하는 버전)
⚔️ 공격 벡터
특수하게 조작된 네트워크 패킷을 전송하여 커널의 스케줄러 함수를 호출함으로써 시스템 충돌 유도
🛡️ 대응 방법
최신 보안 패치가 적용된 리눅스 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이상인지 확인