🇰🇷 한글 설명
Linux 커널의 net_sched ets 구성 요소에서 netem 자식 qdisc를 사용할 때 클래스가 리스트에 중복 추가되는 취약점이 발견되었습니다. 이로 인해 메모리 오염이 발생할 수 있으며, 패치를 통해 클래스가 이미 활성 리스트에 있는지 확인하는 로직이 추가되었습니다.
💡 쉬운 설명
네트워크 트래픽을 관리하는 시스템 설정에서 데이터 목록에 동일한 항목이 두 번 들어가는 오류가 발생했습니다. 이 오류는 시스템의 메모리를 망가뜨려 컴퓨터가 오작동하게 만들 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net_sched: ets: Fix double list add in class with netem as child qdisc
As described in Gerrard's report [1], there are use cases where a netem
child qdisc will make the parent qdisc's enqueue callback reentrant.
In the case of ets, there won't be a UAF, but the code will add the same
classifier to the list twice, which will cause memory corruption.
In addition to checking for qlen being zero, this patch checks whether
the class was already added to the active_list (cl_is_active) before
doing the addition to cater for the reentrant case.
[1] https://lore.kernel.org/netdev/CAHcdcOm+03OD2j6R0=YHKqmy=VgJ8xEOKuP6c7mSgnp-TEJJbw@mail.gmail.com/
📍 영향받는 시스템
Linux Kernel (ets qdisc 및 netem child qdisc를 사용하는 환경)
⚔️ 공격 벡터
특정 네트워크 스케줄링 설정(netem 자식 qdisc 사용)을 통해 커널의 enqueue 콜백을 재진입시켜 메모리 오염 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인