🔍 CVE-2023-52942

5.5
CVSS Score
MEDIUM
2025-03-27
2026-11-05 21:17
✅ 완료

🇰🇷 한글 설명

Linux 커널 cgroup/cpuset 모듈의 update_parent_subparts_cpumask() 함수에서 파티션이 부모 cpuset의 모든 CPU를 사용할 수 있는지 검사하는 로직이 잘못되어, 부모에 태스크가 있음에도 유효 CPU가 없는 상태가 발생할 수 있습니다. 이로 인해 [1] 보고서처럼 시스템 패닉이 발생할 수 있으며, 수정은 부모의 effective_cpus가 자식의 cpus_allowed의 부분집합이면 파티션 활성화를 실패시키도록 검사를 변경합니다.

💡 쉬운 설명

리눅스 커널이 CPU를 그룹으로 나누어 관리할 때, 부모 그룹의 CPU를 모두 자식 그룹이 가져가는 잘못된 설정을 제대로 막지 못하는 문제입니다. 이 경우 시스템이 멈추거나 패닉에 빠질 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: cgroup/cpuset: Fix wrong check in update_parent_subparts_cpumask() It was found that the check to see if a partition could use up all the cpus from the parent cpuset in update_parent_subparts_cpumask() was incorrect. As a result, it is possible to leave parent with no effective cpu left even if there are tasks in the parent cpuset. This can lead to system panic as reported in [1]. Fix this probem by updating the check to fail the enabling the partition if parent's effective_cpus is a subset of the child's cpus_allowed. Also record the error code when an error happens in update_prstate() and add a test case where parent partition and child have the same cpu list and parent has task. Enabling partition in the child will fail in this case. [1] https://www.spinics.net/lists/cgroups/msg36254.html

📍 영향받는 시스템

수정 전 Linux 커널 (cgroup v1/v2 cpuset 기능을 사용하는 버전, 안정 브랜치의 해당 수정 이전 릴리스)

⚔️ 공격 벡터

권한이 있는 로컬 사용자가 cpuset 파티션 설정을 조작하여 부모 cpuset의 유효 CPU를 모두 소진시키는 방식으로 서비스 거부를 유발할 수 있습니다.

🛡️ 대응 방법

배포판 벤더가 제공하는 최신 커널 업데이트를 적용하거나, 수정 커밋이 포함된 안정 커널 버전으로 업그레이드하여 재부팅합니다.

🔧 검증 코드

출력된 커널 버전이 배포판의 패치된 버전 이상인지 확인하고, 패키지 정보가 최신 보안 업데이트 목록과 일치하는지 벤더 공지로 대조하여 판단합니다.

Shell / Script
uname -r && (dpkg -l linux-image-$(uname -r) 2>/dev/null || rpm -q kernel 2>/dev/null) | head -5

📊 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