🔍 CVE-2022-50097

7.1
CVSS Score
HIGH
2025-06-18
2026-08-04 10:18
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 s3fb 드라이버에서 사용자 입력값에 의해 계산된 화면 크기가 실제 할당된 메모리 크기보다 클 경우 발생하는 취약점입니다. 이로 인해 memset_io() 함수 호출 시 잘못된 메모리 주소에 접근하여 커널 페이지 폴트 및 시스템 충돌이 발생할 수 있습니다.

💡 쉬운 설명

사용자가 조작한 잘못된 화면 크기 정보 때문에 컴퓨터의 핵심 시스템(커널)이 허용되지 않은 메모리 영역을 건드리게 됩니다. 이 과정에서 시스템이 갑자기 멈추거나 오류가 발생하며 다운될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: video: fbdev: s3fb: Check the size of screen before memset_io() In the function s3fb_set_par(), the value of 'screen_size' is calculated by the user input. If the user provides the improper value, the value of 'screen_size' may larger than 'info->screen_size', which may cause the following bug: [ 54.083733] BUG: unable to handle page fault for address: ffffc90003000000 [ 54.083742] #PF: supervisor write access in kernel mode [ 54.083744] #PF: error_code(0x0002) - not-present page [ 54.083760] RIP: 0010:memset_orig+0x33/0xb0 [ 54.083782] Call Trace: [ 54.083788] s3fb_set_par+0x1ec6/0x4040 [ 54.083806] fb_set_var+0x604/0xeb0 [ 54.083836] do_fb_ioctl+0x234/0x670 Fix the this by checking the value of 'screen_size' before memset_io().

📍 영향받는 시스템

s3fb 드라이버를 사용하는 리눅스 커널 버전

⚔️ 공격 벡터

사용자 입력값이 포함된 ioctl 시스템 호출을 통한 메모리 오버라이트 유도

🛡️ 대응 방법

s3fb_set_par() 함수 내에서 memset_io() 호출 전 screen_size 값을 검증하도록 커널 패치 적용

🔧 검증 코드

현재 실행 중인 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인합니다.

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:H/A:H

💻 영향받는 소프트웨어

Linux Kernel