🔍 CVE-2026-89518

0.0
CVSS Score
UNKNOWN
2026-09-11
2026-10-19 09:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 sched_ext 구성 요소에서 코어 스케줄링 시 dispatch kfunc가 실행되는 CPU와 대상 rq가 일치하지 않을 수 있는 취약점이 발견되었습니다. 이로 인해 scx_dsq_move()에서 잘못된 락 획득 시도로 인한 데드락이 발생하거나, DSQ(Dispatch Queue) 참조 오류가 발생할 수 있습니다. 이를 해결하기 위해 scx_locked_rq()를 사용하여 정확한 rq를 추적하도록 수정되었습니다.

💡 쉬운 설명

컴퓨터의 두뇌 역할을 하는 커널이 작업을 분배할 때, 엉뚱한 위치를 기준으로 작업을 처리하려다 시스템이 멈추거나 오류가 생길 수 있는 문제입니다. 이번 패치를 통해 작업이 실제로 처리되어야 할 정확한 위치를 찾아가도록 수정되었습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: sched_ext: Fix this_rq() assumptions in dispatch kfuncs Under core scheduling, dispatch runs from within the core-wide pick and can target a sibling rq, so ops.dispatch() may execute on a CPU different from the dispatched rq's. Several kfunc paths assumed the two always coincide: - scx_dsq_move() decided whether an rq lock is held by testing this_rq()'s rq flags and lock-danced accordingly. A dispatch for a sibling took the unlocked-context branch and acquired the source rq lock on top of the already held dispatched rq lock which could deadlock. - scx_bpf_sub_dispatch() dispatched this_rq() with its stashed sub_dispatch_prev, which is NULL when dispatching for a sibling. - finish_dispatch(), scx_bpf_dsq_reenq() and scx_bpf_dsq_nr_queued() resolved SCX_DSQ_LOCAL to this CPU's local DSQ rather than the dispatched rq's. The latter two are callable from other rq-locked operations too, where SCX_DSQ_LOCAL now likewise resolves to the op's rq. This changes behavior also without core scheduling, e.g. for ops.enqueue() running a remote wakeup on the waking CPU, and is intended: which CPU happens to execute an operation is incidental, the op's rq is what it is operating on, and the resolution now matches the insert side where SCX_DSQ_LOCAL dispatches land on the task's rq. Use the rq tracked by scx_locked_rq(), which is set to the dispatched rq around ops invocations and NULL in unlocked contexts.

📍 영향받는 시스템

sched_ext 기능을 사용하는 Linux 커널 (코어 스케줄링 활성화 시)

⚔️ 공격 벡터

로컬 공격자가 특수하게 조작된 스케줄링 작업을 통해 커널 데드락을 유발할 수 있음

🛡️ 대응 방법

sched_ext 관련 수정 사항이 포함된 최신 Linux 커널 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이상인지 확인

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel