🔍 CVE-2022-49830

5.5
CVSS Score
MEDIUM
2025-05-01
2026-11-05 20:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 drm/drv 모듈에서 drm_dev_init() 함수 실행 시 drmm_add_action()이 실패하면 drm_dev_init_release() 콜백이 등록되지 않아 device_get()으로 증가한 참조 카운트가 해제되지 않는 메모리 누수 문제가 있습니다. 이를 해결하기 위해 drmm_add_action_or_reset()을 사용하도록 수정되었습니다.

💡 쉬운 설명

그래픽 드라이버를 초기화하는 과정에서 사용하던 메모리가 제대로 반환되지 않는 버그입니다. 장시간 사용하면 시스템 메모리가 점점 낭비되어 성능 저하나 불안정이 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: drm/drv: Fix potential memory leak in drm_dev_init() drm_dev_init() will add drm_dev_init_release() as a callback. When drmm_add_action() failed, the release function won't be added. As the result, the ref cnt added by device_get() in drm_dev_init() won't be put by drm_dev_init_release(), which leads to the memleak. Use drmm_add_action_or_reset() instead of drmm_add_action() to prevent memleak. unreferenced object 0xffff88810bc0c800 (size 2048): comm "modprobe", pid 8322, jiffies 4305809845 (age 15.292s) hex dump (first 32 bytes): e8 cc c0 0b 81 88 ff ff ff ff ff ff 00 00 00 00 ................ 20 24 3c 0c 81 88 ff ff 18 c8 c0 0b 81 88 ff ff $<............. backtrace: [<000000007251f72d>] __kmalloc+0x4b/0x1c0 [<0000000045f21f26>] platform_device_alloc+0x2d/0xe0 [<000000004452a479>] platform_device_register_full+0x24/0x1c0 [<0000000089f4ea61>] 0xffffffffa0736051 [<00000000235b2441>] do_one_initcall+0x7a/0x380 [<0000000001a4a177>] do_init_module+0x5c/0x230 [<000000002bf8a8e2>] load_module+0x227d/0x2420 [<00000000637d6d0a>] __do_sys_finit_module+0xd5/0x140 [<00000000c99fc324>] do_syscall_64+0x3f/0x90 [<000000004d85aa77>] entry_SYSCALL_64_after_hwframe+0x63/0xcd

📍 영향받는 시스템

DRM(Direct Rendering Manager) 드라이버를 사용하는 수정 이전의 Linux 커널 버전 (구체적 버전 범위는 커널 패치 이력 확인 필요)

⚔️ 공격 벡터

원격 공격보다는 드라이버 로드 실패 상황에서 발생하는 메모리 누수로, 로컬 사용자가 반복적으로 모듈을 로드하여 가용 메모리를 고갈시키는 서비스 거부(DoS) 형태가 될 수 있습니다.

🛡️ 대응 방법

리눅스 배포판 공급업체가 제공하는 최신 커널 보안 업데이트를 적용하고 시스템을 재부팅합니다.

🔧 검증 코드

현재 실행 중인 커널 버전과 설치된 커널 패키지 목록을 확인하여, 배포판 공지에 명시된 CVE-2022-49830 수정 패치가 포함된 버전인지 비교합니다.

Shell / Script
uname -r && (dpkg -l 'linux-image*' 2>/dev/null || rpm -qa 'kernel*' 2>/dev/null) | head -20

📊 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