🔍 CVE-2023-54107

7.8
CVSS Score
HIGH
2025-12-24
2026-10-30 13:17
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 blk-cgroup 구성 요소에서 부모 데이터 페이지의 참조 횟수(refcount)를 해제하는 순서가 잘못되어 발생하는 Use-After-Free(UAF) 취약점입니다. 특정 cgroup 정책이 부모 데이터 페이지가 해제된 후에도 해당 페이지에 접근할 수 있어 메모리 손상이나 권한 상승을 초래할 수 있습니다.

💡 쉬운 설명

컴퓨터의 메모리 관리 규칙이 어긋나서, 이미 사용이 끝난 메모리 영역을 시스템이 다시 사용하려고 할 때 발생하는 오류입니다. 공격자가 이 허점을 이용하면 시스템의 제어권을 뺏거나 오류를 일으킬 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: blk-cgroup: dropping parent refcount after pd_free_fn() is done Some cgroup policies will access parent pd through child pd even after pd_offline_fn() is done. If pd_free_fn() for parent is called before child, then UAF can be triggered. Hence it's better to guarantee the order of pd_free_fn(). Currently refcount of parent blkg is dropped in __blkg_release(), which is before pd_free_fn() is called in blkg_free_work_fn() while blkg_free_work_fn() is called asynchronously. This patch make sure pd_free_fn() called from removing cgroup is ordered by delaying dropping parent refcount after calling pd_free_fn() for child. BTW, pd_free_fn() will also be called from blkcg_deactivate_policy() from deleting device, and following patches will guarantee the order.

📍 영향받는 시스템

blk-cgroup 기능을 사용하는 리눅스 커널 버전

⚔️ 공격 벡터

특정 cgroup 정책을 조작하여 부모와 자식 데이터 페이지 간의 해제 순서를 어긋나게 유도하는 방식

🛡️ 대응 방법

해당 취약점이 수정된 최신 리눅스 커널 버전으로 업데이트

🔧 검증 코드

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

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel