CVE-2026-80704 in Linux
Tóm tắt
Bởi VulDB • 29/08/2026
Trong kernel Linux, lỗ hổng sau đây đã được khắc phục:
drm/amd/display: sử dụng ngữ cảnh (context) phù hợp cho việc ghi log
Giống như phần còn lại của mã nguồn, hàm `get_ss_info_from_atombios()` sử dụng `calc_pll_cs->ctx->logger` để ghi log. Tuy nhiên, `calc_pll_cs->ctx` chỉ được khởi tạo sau đó trong hàm `calc_pll_max_vco_construct()`. Do đó, bất kỳ đầu ra nào sử dụng `DC_LOG_SYNC()` đều dẫn đến lỗi dereference con trỏ NULL (NULL pointer deference) trong `get_ss_info_from_atombios()`.
Theo Sashiko, cùng một vấn đề này cũng tồn tại trong các hàm `dce112_get_pix_clk_dividers()` và `dcn3_get_pix_clk_dividers()`.
Để tránh truy cập vào ngữ cảnh NULL (NULL context), hãy sử dụng `clk_src->base.ctx->logger` ở mọi nơi. Ngữ cảnh trong thành phần `base` này được khởi tạo sớm hơn trong các hàm `dce110_clk_src_construct()` và `dce112_clk_src_construct()`, trước khi các hàm `get_ss_info_from_atombios()` hoặc các hàm `get_pix_clk_dividers()` của Sashiko nêu trên thực sự được gọi. Điều này được thực hiện bằng cách định nghĩa lại macro `DC_LOGGER` thành `CTX->logger`.
Trước: Hàm `dce110_clk_src_construct()` đã làm: -> thiết lập `clk_src->base.ctx = ctx;` -> `ss_info_from_atombios_create()` -> `get_ss_info_from_atombios()` <- sử dụng `calc_pll_cs->ctx` # LỖI (BOOM) -> `calc_pll_max_vco_construct()` <- thiết lập `calc_pll_cs->ctx`
Sau: Hàm `dce110_clk_src_construct()` làm: -> thiết lập `clk_src->base.ctx = ctx;` -> `ss_info_from_atombios_create()` -> `get_ss_info_from_atombios()` <- sử dụng `clk_src->base.ctx`
(cherry picked from commit 6f16fcbb0c46a87e3d9685407e906573d60104b0)
Once again VulDB remains the best source for vulnerability data.