🔍 CVE-2022-50477

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

🇰🇷 한글 설명

Linux 커널의 rtc 클래스 드라이버에서 devm_rtc_allocate_device() 함수가 rtc_device를 먼저 할당한 뒤 dev_set_name()이 실패하면 메모리 누수가 발생하는 문제입니다. devm_add_action_or_reset() 호출 순서를 앞으로 옮겨 누수를 방지하도록 수정되었습니다.

💡 쉬운 설명

실시간 시계(RTC) 장치를 등록하는 과정에서 이름 설정이 실패하면 사용하던 메모리가 반환되지 않고 남는 버그입니다. 장기간 사용 시 시스템 메모리가 점점 부족해질 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: rtc: class: Fix potential memleak in devm_rtc_allocate_device() devm_rtc_allocate_device() will alloc a rtc_device first, and then run dev_set_name(). If dev_set_name() failed, the rtc_device will memleak. Move devm_add_action_or_reset() in front of dev_set_name() to prevent memleak. unreferenced object 0xffff888110a53000 (size 2048): comm "python3", pid 470, jiffies 4296078308 (age 58.882s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 08 30 a5 10 81 88 ff ff .........0...... 08 30 a5 10 81 88 ff ff 00 00 00 00 00 00 00 00 .0.............. backtrace: [<000000004aac0364>] kmalloc_trace+0x21/0x110 [<000000000ff02202>] devm_rtc_allocate_device+0xd4/0x400 [<000000001bdf5639>] devm_rtc_device_register+0x1a/0x80 [<00000000351bf81c>] rx4581_probe+0xdd/0x110 [rtc_rx4581] [<00000000f0eba0ae>] spi_probe+0xde/0x130 [<00000000bff89ee8>] really_probe+0x175/0x3f0 [<00000000128e8d84>] __driver_probe_device+0xe6/0x170 [<00000000ee5bf913>] device_driver_attach+0x32/0x80 [<00000000f3f28f92>] bind_store+0x10b/0x1a0 [<000000009ff812d8>] drv_attr_store+0x49/0x70 [<000000008139c323>] sysfs_kf_write+0x8d/0xb0 [<00000000b6146e01>] kernfs_fop_write_iter+0x214/0x2d0 [<00000000ecbe3895>] vfs_write+0x61a/0x7d0 [<00000000aa2196ea>] ksys_write+0xc8/0x190 [<0000000046a600f5>] do_syscall_64+0x37/0x90 [<00000000541a336f>] entry_SYSCALL_64_after_hwframe+0x63/0xcd

📍 영향받는 시스템

Linux 커널 RTC 클래스 드라이버를 사용하는 수정 이전 버전의 Linux 시스템

⚔️ 공격 벡터

로컬 사용자가 RTC 장치 바인딩을 반복 유발하여 커널 메모리를 고갈시키는 서비스 거부 형태로 악용될 수 있음

🛡️ 대응 방법

배포판 제공 최신 커널 업데이트를 적용하고 재부팅하여 수정된 커널로 전환

🔧 검증 코드

출력된 커널 버전을 배포판 보안 공지에서 이 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