🔍 CVE-2022-50473

5.5
CVSS Score
MEDIUM
2025-10-04
2026-11-05 21:17
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 cpufreq 서브시스템에서, cpufreq_policy_alloc() 함수가 kobject_init_and_add() 실패 시 아직 초기화되지 않은 completion 객체를 cpufreq_sysfs_release()에서 사용하여 커널 패닉(NULL 포인터 역참조 계열의 페이지 폴트)이 발생할 수 있는 문제입니다. 해결책은 kobject 초기화 전에 completion을 먼저 초기화하는 것입니다.

💡 쉬운 설명

리눅스 커널이 CPU 주파수 관리 기능을 준비하는 과정에서 실패했을 때 잘못된 순서로 정리 작업을 하여 시스템이 갑자기 멈출 수 있습니다. 이 문제는 주로 CPU 주파수 드라이버를 로드하거나 초기화하는 과정에서 오류가 발생할 때 나타납니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: cpufreq: Init completion before kobject_init_and_add() In cpufreq_policy_alloc(), it will call uninitialed completion in cpufreq_sysfs_release() when kobject_init_and_add() fails. And that will cause a crash such as the following page fault in complete: BUG: unable to handle page fault for address: fffffffffffffff8 [..] RIP: 0010:complete+0x98/0x1f0 [..] Call Trace: kobject_put+0x1be/0x4c0 cpufreq_online.cold+0xee/0x1fd cpufreq_add_dev+0x183/0x1e0 subsys_interface_register+0x3f5/0x4e0 cpufreq_register_driver+0x3b7/0x670 acpi_cpufreq_init+0x56c/0x1000 [acpi_cpufreq] do_one_initcall+0x13d/0x780 do_init_module+0x1c3/0x630 load_module+0x6e67/0x73b0 __do_sys_finit_module+0x181/0x240 do_syscall_64+0x35/0x80 entry_SYSCALL_64_after_hwframe+0x63/0xcd

📍 영향받는 시스템

커널 패치가 적용되기 전의 cpufreq 기능을 사용하는 Linux 커널 버전 (CPU 주파수 스케일링 드라이버 사용 시스템)

⚔️ 공격 벡터

일반적으로 로컬 권한을 가진 사용자나 드라이버 로드 과정의 오류 상황에서 트리거되며, 원격 공격 경로는 명확히 알려져 있지 않습니다.

🛡️ 대응 방법

커널을 해당 취약점이 수정된 최신 안정 버전 또는 배포판의 보안 업데이트로 업그레이드하십시오.

🔧 검증 코드

출력된 커널 버전을 배포판 보안 공지 또는 Linux 커널 Git 저장소의 수정 커밋 포함 여부와 비교하여, 현재 버전이 패치 이후인지 확인합니다.

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