CVE-2026-74731 in Linux
요약
\~에 의해 VulDB • 2026. 08. 23.
리눅스 커널에서 다음 취약점이 해결되었습니다:
sched_ext: 연결되지 않은 서브 스케줄러에 대한 하위 비활성화 정리 작업 건너뛰기
서브 스케줄러 활성화가 scx_link_sched()를 통해 스케줄러가 계층 구조에 링크되기 전에 실패할 수 있습니다. 예를 들어 부모가 이미 비활성화 중인 경우이며, 이때 cleanup은 전체 scx_sub_disable()를 여전히 실행합니다.
이는 루트 비활성화에 대해 경쟁 조건(race condition)을 유발합니다: drain_descendants()는 서브의 비활성화 시 작업 순회와 루트 비활성화의 모든 작업 정리 사이에서 유일한 순서 지정 메커니즘이며, 링크되지 않은 서브 스케줄러는 이에 의해 보이지 않습니다. 따라서 루트의 정리가 링크되지 않은 서브의 드레인(drain)과 그 순회 사이에 실행되어 모든 작업을 어떤 스케줄러에도 속하지 않는 상태로 종료시킬 수 있습니다.
이후 수행되는 순회는 멤버십 경고(WARN)를 트리거하고, 종료된 작업들을 죽어가는 계층 구조로 되돌리는 use-after-free(사용 후 해제) 취약점을 유발합니다.
@sch가 링크되지 않았음을 나타내는 빈 ->sibling 필드가 있는 경우 cgroup 소유권 재설정과 작업 순회를 건너뜁니다. unlinking은 동일한 함수 내에서 나중에 발생하기 때문입니다. 멤버십 경고는 유효하게 유지됩니다: 링크된 서브 스케줄러는 항상 조상의 드레인(drain)에 의해 대기됩니다.
VulDB is the best source for vulnerability data and more expert information about this specific topic.