🔍 CVE-2026-99007

0.0
CVSS Score
UNKNOWN
2026-10-23
2026-10-23 13:17
✅ 완료

🇰🇷 한글 설명

Linux 커널 DRM fbdev 헬퍼에서, fbdev_probe()가 -EAGAIN 이외의 오류로 실패할 경우 deferred_setup 플래그가 설정되지 않아 mode_set->fb가 NULL인 상태로 남는 문제가 수정되었습니다. 이로 인해 후속 restore 호출 시 __drm_atomic_helper_set_config()에서 WARN_ON이 발생할 수 있었습니다. 실패 시 항상 재시도 대기 상태로 표시하도록 수정되었습니다.

💡 쉬운 설명

그래픽 화면 초기 설정이 실패했을 때 커널이 이를 제대로 기억하지 못해, 나중에 화면을 복원하는 과정에서 경고가 발생할 수 있었습니다. 이번 수정으로 실패 시 설정을 다시 시도하도록 처리됩니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: drm/fb-helper: defer setup when fbdev_probe() fails, not just on -EAGAIN __drm_fb_helper_initial_config_and_unlock() calls drm_client_modeset_probe() first, which already fills in each mode_set->mode/num_connectors for every connected output, and only afterwards calls drm_fb_helper_single_fb_probe() to create fb_helper->fb and wire it into those mode_sets via drm_setup_crtcs_fb(). If drm_fb_helper_single_fb_probe() fails with anything other than -EAGAIN (e.g. dev->driver->fbdev_probe() itself fails), the function bails out before drm_setup_crtcs_fb() runs and before setting fb_helper->deferred_setup. The client is left with mode_sets that have a mode and connectors but mode_set->fb == NULL, and nothing marks this fb_helper as needing a retry. __drm_fb_helper_restore_fbdev_mode_unlocked() only skips committing when fb_helper->deferred_setup is set, so a later .restore() call (drm_lastclose() on process exit, in this report) commits the stale mode_set through drm_client_modeset_commit() -> drm_client_modeset_commit_atomic() -> __drm_atomic_helper_set_config(), which hits WARN_ON(!set->fb). Mark fb_helper->deferred_setup on any drm_fb_helper_single_fb_probe() failure, not just -EAGAIN, so restore keeps skipping the commit until a later hotplug event successfully re-probes and re-populates mode_set->fb. The real error code is still returned to the caller unchanged.

📍 영향받는 시스템

Linux 커널 DRM 드라이버(fbdev 헬퍼 사용) 일부 버전; 정확한 영향 버전은 패치 커밋 기준으로 확인 필요

⚔️ 공격 벡터

공개된 정보상 원격 공격 벡터는 확인되지 않으며, 주로 커널 경고(WARN_ON) 및 안정성 문제에 해당

🛡️ 대응 방법

Linux 커널을 해당 수정이 포함된 최신 안정 버전 또는 배포판 보안 업데이트로 갱신

🔧 검증 코드

출력된 커널 버전을 배포판 보안 공지 또는 커널 패치 커밋과 대조하여 수정 포함 여부를 확인합니다 (수정 여부가 불확실하면 배포판 패키지 changelog 확인)

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel