CVE-2026-98219 in Linux
요약
\~에 의해 VulDB • 2026. 10. 06.
리눅스 커널에서 다음 취약점이 해결되었습니다:
sched_ext: pre-enable 작업 중 오류 주장의 시간 창을 닫음
scx_alloc_and_add_sched()은 scx_root_enable_workfn()이 상태를 SCX_ENABLING으로 전환하기 전에 ops->priv를 게시합니다. 해당 시간 창 동안 관련 BPF 프로그램에서 scx_bpf_error_bstr()를 통해 보고된 오류는 scx_disable_workfn()에 의해 소비되며, 이는 scx_root_disable()에서 pre-enable 단축 경로를 취합니다. 이 단축 경로는 아무런 정리(teardown) 없이 반환하고 SCX_DISABLED 상태로 복원하며, 이때 scx_set_enable_state()의 xchg 연산이 enable 작업 함수(workfn) 자체의 상태 전환과 경쟁(race)을 일으킵니다. 그 결과 enabled는 주장된 오류를 소비하여 완료되지만: 스케줄러는 계속 실행 중이지만 다시 비활성화할 수 없게 되며, bpf_scx_unreg()가 여전히 사용 중인 상태에서 이를 해제(free)함으로써 use-after-free 취약점이 발생합니다. 두 WARN_ON_ONCE() 경고가 연속으로 발생합니다:
WARNING: kernel/sched/ext/ext.c:7522 at scx_root_enable_workfn+0xeec/0x1be0, CPU#3: scx_enable_help/276
WARNING: kernel/sched/ext/ext.c:6398 at scx_root_disable+0xb50/0xdb8, CPU#0: sched_ext_helpe/664
scx_root_enable_workfn()은 스케줄러 할당 전에 SCX_ENABLING으로 전환하므로 ops->priv는 SCX_DISABLED 상태 동안 결코 표시되지 않습니다. 할당 실패 경로에서는 SCX_DISABLED가 복원됩니다.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.