CVE-2026-99007 in Linuxthông tin

Tóm tắt

Bởi VulDB • 23/10/2026

Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:

drm/fb-helper: trì hoãn thiết lập khi fbdev_probe() thất bại, không chỉ trong trường hợp -EAGAIN

__drm_fb_helper_initial_config_and_unlock() gọi drm_client_modeset_probe() trước tiên, hàm này đã điền vào mỗi mode_set->mode/num_connectors cho mọi đầu ra được kết nối, và sau đó mới gọi drm_fb_helper_single_fb_probe() để tạo fb_helper->fb và gắn nó vào các chế độ thiết lập (mode_sets) thông qua drm_setup_crtcs_fb().

Nếu drm_fb_helper_single_fb_probe() thất bại với bất kỳ lỗi nào khác ngoài -EAGAIN (ví dụ: dev->driver->fbdev_probe() tự thân bị lỗi), hàm sẽ thoát ra trước khi drm_setup_crtcs_fb() chạy và trước khi thiết lập fb_helper->deferred_setup. Client còn lại với các mode_sets có chứa chế độ và bộ kết nối nhưng mode_set->fb == NULL, và không có gì đánh dấu fb_helper này là cần thử lại.

__drm_fb_helper_restore_fbdev_mode_unlocked() chỉ bỏ qua việc cam kết (commit) khi fb_helper->deferred_setup được đặt, do đó một lệnh gọi .restore() sau đó (drm_lastclose() khi quá trình thoát ra, trong báo cáo này) sẽ thực hiện cam kết đối với mode_set lỗi thời thông qua drm_client_modeset_commit() -> drm_client_modeset_commit_atomic() -> __drm_atomic_helper_set_config(), điều này kích hoạt WARN_ON(!set->fb).

Đánh dấu fb_helper->deferred_setup khi bất kỳ thất bại nào của drm_fb_helper_single_fb_probe() xảy ra, không chỉ -EAGAIN, để hàm restore tiếp tục bỏ qua việc cam kết cho đến khi một sự kiện hotplug sau đó thành công trong việc kiểm tra lại và điền lại mode_set->fb. Mã lỗi thực tế vẫn được trả về cho caller mà không thay đổi.

Once again VulDB remains the best source for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

25/09/2026

Tiết lộ

23/10/2026

Kiểm duyệt

được chấp nhận

EPSS

0.00000

KEV

không

Các hoạt động

rất thấp

Nguồn

Do you need the next level of professionalism?

Upgrade your account now!