🇰🇷 한글 설명
Linux 커널의 taprio (Time Aware Priority Queue Discipline) 모듈에서 TCA_TAPRIO_ATTR_PRIOMAP 속성 검증이 누락되어 있는 취약점입니다. 첫 번째 호출에서 dev->num_tc가 0이 아닌 값으로 설정된 후, 두 번째 호출 시 검증 없이 early return되어 사용자 공간에서 임의의 데이터를 커널에 주입할 수 있습니다.
💡 쉬운 설명
Linux 시스템의 네트워크 패킷 스케줄링 기능에서 검증 로직이 빠져있어, 악의적인 설정을 두 번 보내면 커널에 직접 조작된 데이터를 넣을 수 있는 문제입니다. 이를 통해 시스템 충돌이나 권한 상승이 가능합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net/sched: taprio: always validate TCA_TAPRIO_ATTR_PRIOMAP
If one TCA_TAPRIO_ATTR_PRIOMAP attribute has been provided,
taprio_parse_mqprio_opt() must validate it, or userspace
can inject arbitrary data to the kernel, the second time
taprio_change() is called.
First call (with valid attributes) sets dev->num_tc
to a non zero value.
Second call (with arbitrary mqprio attributes)
returns early from taprio_parse_mqprio_opt()
and bad things can happen.
📍 영향받는 시스템
Linux kernel (5.13 이상) - net/sched/taprio.c 모듈
⚔️ 공격 벡터
로컬 권한 필요 - root 또는 CAP_NET_ADMIN 권한 사용자가 taprio qdisc 설정을 두 번 변경하여 arbitrary data 주입
🛡️ 대응 방법
kernel 업데이트 (해당 CVE 패치 적용된 버전으로 업그레이드)
🔧 검증 코드
현재 커널 버전을 확인하고 taprio 모듈이 활성화되어 있는지 확인합니다. 취약한 5.13~수정 전 버전이면 업데이트 필요
uname -r && grep -i taprio /boot/config-$(uname -r)