🇰🇷 한글 설명
Linux 커널의 net/sched 구성 요소에서 TOCTOU(Time-of-Check to Time-of-Use)로 인한 NULL 포인터 역참조 취약점이 발견되었습니다. tcf_action_exec() 함수가 goto_chain을 확인한 후 실행하기 전 사이의 간극에서 데이터가 변경될 수 있어 발생합니다. 이로 인해 시스템이 충돌하거나 예기치 않은 동작을 유발할 수 있습니다.
💡 쉬운 설명
프로그램이 어떤 데이터가 안전한지 확인한 직후, 실제 사용하기 직전에 데이터가 갑자기 사라져서 발생하는 오류입니다. 이로 인해 컴퓨터 시스템이 갑자기 멈추거나 꺼질 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net/sched: act_api: fix TOCTOU NULL deref on a->goto_chain
tcf_action_exec() handles TC_ACT_GOTO_CHAIN by first checking
rcu_access_pointer(a->goto_chain) and then calling
tcf_action_goto_chain_exec(), which does a second, independent
rcu_dereference_bh(a->goto_chain) read and immediately dereferences
chain->filter_chain. A concurrent tcf_action_set_ctrlact() (e.g. the gact
replace path) can clear a->goto_chain between the two reads, so the second
read returns NULL and tcf_action_goto_chain_exec() dereferences NULL.
Fix the race by doing a single rcu_dereference_bh() read of a->goto_chain
in tcf_action_exec(), checking it once for NULL, and passing the resulting
chain pointer into tcf_action_goto_chain_exec(). This turns the split
check/use into a single check/use on one value.
📍 영향받는 시스템
Linux Kernel (net/sched 구성 요소가 포함된 버전)
⚔️ 공격 벡터
네트워크 트래픽 제어(TC) 설정을 변경하는 과정에서 의도적으로 레이스 컨디션을 유발하여 발생
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.