🔍 CVE-2024-56583

5.5
CVSS Score
MEDIUM
2024-12-27
2026-11-05 21:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 sched/deadline 스케줄러에서, 우선순위가 상승(boosted)된 태스크를 CPU affinity 변경 과정에서 재큐잉할 때 setup_new_dl_entity가 불필요하게 호출되어 커널 경고(WARN_ON)가 발생하는 문제입니다. 해당 태스크가 boosted 상태인지 확인하고 이 경우 해당 함수 호출을 건너뛰도록 수정되었습니다.

💡 쉬운 설명

실시간 작업 스케줄링 과정에서 커널이 잘못된 경고를 출력하는 버그입니다. 시스템 충돌이나 데이터 손실보다는 로그 오류와 불안정성을 유발하는 수준입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: sched/deadline: Fix warning in migrate_enable for boosted tasks When running the following command: while true; do stress-ng --cyclic 30 --timeout 30s --minimize --quiet done a warning is eventually triggered: WARNING: CPU: 43 PID: 2848 at kernel/sched/deadline.c:794 setup_new_dl_entity+0x13e/0x180 ... Call Trace: <TASK> ? show_trace_log_lvl+0x1c4/0x2df ? enqueue_dl_entity+0x631/0x6e0 ? setup_new_dl_entity+0x13e/0x180 ? __warn+0x7e/0xd0 ? report_bug+0x11a/0x1a0 ? handle_bug+0x3c/0x70 ? exc_invalid_op+0x14/0x70 ? asm_exc_invalid_op+0x16/0x20 enqueue_dl_entity+0x631/0x6e0 enqueue_task_dl+0x7d/0x120 __do_set_cpus_allowed+0xe3/0x280 __set_cpus_allowed_ptr_locked+0x140/0x1d0 __set_cpus_allowed_ptr+0x54/0xa0 migrate_enable+0x7e/0x150 rt_spin_unlock+0x1c/0x90 group_send_sig_info+0xf7/0x1a0 ? kill_pid_info+0x1f/0x1d0 kill_pid_info+0x78/0x1d0 kill_proc_info+0x5b/0x110 __x64_sys_kill+0x93/0xc0 do_syscall_64+0x5c/0xf0 entry_SYSCALL_64_after_hwframe+0x6e/0x76 RIP: 0033:0x7f0dab31f92b This warning occurs because set_cpus_allowed dequeues and enqueues tasks with the ENQUEUE_RESTORE flag set. If the task is boosted, the warning is triggered. A boosted task already had its parameters set by rt_mutex_setprio, and a new call to setup_new_dl_entity is unnecessary, hence the WARN_ON call. Check if we are requeueing a boosted task and avoid calling setup_new_dl_entity if that's the case.

📍 영향받는 시스템

패치 이전의 Linux 커널 (sched/deadline 스케줄러를 사용하는 버전 전반)

⚔️ 공격 벡터

로컬 사용자가 SCHED_DEADLINE 태스크와 CPU affinity 변경, 시그널 전달을 반복 유발하여 커널 경고를 발생시킬 수 있음

🛡️ 대응 방법

배포판 제공 최신 커널로 업데이트하거나 upstream 수정이 포함된 커널로 재빌드 후 재부팅

🔧 검증 코드

출력된 커널 버전을 배포판의 보안 권고문에서 해당 CVE 수정 버전과 비교하여, 같거나 높으면 패치가 적용된 것입니다.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel