🇰🇷 한글 설명
리눅스 커널의 fbdev 구성 요소에서 sysfs를 통한 모드 접근 시 적절한 잠금(lock_fb_info)을 사용하지 않아 발생하는 취약점입니다. 이로 인해 데이터가 수정되는 동안 동시에 접근할 경우 해제된 메모리에 접근하거나 잘못된 포인터를 참조하는 Use-After-Free 문제가 발생할 수 있습니다.
💡 쉬운 설명
화면 설정 정보를 읽거나 쓰는 과정에서 데이터 보호 장치가 제대로 작동하지 않아 발생하는 오류입니다. 공격자가 이를 악용하면 시스템이 갑자기 멈추거나 잘못된 메모리 영역을 건드려 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
fbdev: serialize mode sysfs access with lock_fb_info()
show_mode(), show_modes(), and store_mode() access fb_info->modelist
and fb_info->mode without holding lock_fb_info(). store_modes() takes
lock_fb_info() while replacing the modelist and freeing the old one.
A concurrent reader or writer can load a pointer to an old modelist
entry before store_modes() frees it, then dereference freed memory or
store a stale freed pointer in fb_info->mode.
Take lock_fb_info() in show_mode(), show_modes(), and store_mode() to
serialize with store_modes(). In show_mode(), copy the mode to the
stack and format after dropping the lock. In store_mode(), split
activate() into a _locked variant to avoid double-locking, and hold
the locks for the modelist walk, mode conversion, activation, and
fb_info->mode assignment together.
📍 영향받는 시스템
Linux Kernel (fbdev 구성 요소가 포함된 버전)
⚔️ 공격 벡터
동시성 제어 미흡을 이용한 Race Condition 공격을 통해 해제된 메모리 참조 유도
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 fbdev의 잠금 메커니즘 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.