🔍 CVE-2022-49511

7.8
CVSS Score
HIGH
2025-02-26
2026-08-04 10:17
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 fbdev 구성 요소에서 pagelist 손상이 발생하는 취약점입니다. fb_deferred_io_mkwrite()와 fb_deferred_io_fault() 함수 간의 잠금(lock) 부재로 인한 레이스 컨디션이 원인이며, 이로 인해 리스트 구조가 깨질 수 있습니다.

💡 쉬운 설명

두 개의 작업이 동시에 같은 데이터를 수정하려고 할 때 충돌이 발생하는 문제입니다. 이 충돌로 인해 시스템의 메모리 관리 목록이 엉망이 되어 시스템이 멈추거나 오류가 발생할 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: fbdev: defio: fix the pagelist corruption Easily hit the below list corruption: == list_add corruption. prev->next should be next (ffffffffc0ceb090), but was ffffec604507edc8. (prev=ffffec604507edc8). WARNING: CPU: 65 PID: 3959 at lib/list_debug.c:26 __list_add_valid+0x53/0x80 CPU: 65 PID: 3959 Comm: fbdev Tainted: G U RIP: 0010:__list_add_valid+0x53/0x80 Call Trace: <TASK> fb_deferred_io_mkwrite+0xea/0x150 do_page_mkwrite+0x57/0xc0 do_wp_page+0x278/0x2f0 __handle_mm_fault+0xdc2/0x1590 handle_mm_fault+0xdd/0x2c0 do_user_addr_fault+0x1d3/0x650 exc_page_fault+0x77/0x180 ? asm_exc_page_fault+0x8/0x30 asm_exc_page_fault+0x1e/0x30 RIP: 0033:0x7fd98fc8fad1 == Figure out the race happens when one process is adding &page->lru into the pagelist tail in fb_deferred_io_mkwrite(), another process is re-initializing the same &page->lru in fb_deferred_io_fault(), which is not protected by the lock. This fix is to init all the page lists one time during initialization, it not only fixes the list corruption, but also avoids INIT_LIST_HEAD() redundantly. V2: change "int i" to "unsigned int i" (Geert Uytterhoeven)

📍 영향받는 시스템

리눅스 커널 (fbdev 관련 모듈 사용 시스템)

⚔️ 공격 벡터

로컬 공격자가 특정 메모리 조작을 통해 레이스 컨디션을 유도하여 커널 오류를 발생시킴

🛡️ 대응 방법

리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트

🔧 검증 코드

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

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