🇰🇷 한글 설명
Linux 커널의 staging fbtft 드라이버에서 fbtft_framebuffer_alloc() 함수가 info->fix.smem_len을 설정하기 전에 fb_deferred_io_init()을 호출하여, 해당 함수가 WARN_ON()을 발생시키고 아무 동작도 하지 않는 문제가 수정되었습니다. 이는 지연 I/O 초기화가 정상적으로 이루어지지 않는 결함입니다.
💡 쉬운 설명
리눅스 커널의 특정 디스플레이 드라이버가 초기화 순서를 잘못 처리해서 화면 메모리 관리 기능이 제대로 작동하지 않는 문제입니다. 이로 인해 경고가 발생하고 일부 기능이 동작하지 않을 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
staging: fbtft: core: set smem_len before fb_deferred_io_init call
The fbtft_framebuffer_alloc() calls fb_deferred_io_init() before
initializing info->fix.smem_len. It is set to zero by the
framebuffer_alloc() function. It will trigger a WARN_ON() at the
start of fb_deferred_io_init() and the function will not do anything.
📍 영향받는 시스템
fbtft 드라이버가 포함된 Linux 커널 (staging 드라이버 사용 환경, 수정 커밋 이전 버전)
⚔️ 공격 벡터
로컬 사용자가 직접 공격하기 어려운 초기화 순서 결함으로, 주로 안정성 저하 및 경고 발생에 해당하며 명확한 원격 공격 경로는 확인되지 않음
🛡️ 대응 방법
패치된 최신 Linux 커널로 업데이트하거나, 해당 커널 배포판의 보안 업데이트를 적용하고, fbtft 드라이버를 사용하지 않는다면 비활성화
🔧 검증 코드
커널 버전이 패치된 버전 이상인지 확인하고, fbtft 모듈이 로드되어 있지 않다면 영향이 없으며, 로드되어 있다면 커널 업데이트 필요 여부를 판단
uname -r && (lsmod | grep -i fbtft || echo 'fbtft 모듈 미로드') && (grep -i fbtft /boot/config-$(uname -r) 2>/dev/null || echo 'fbtft 설정 정보 없음')