CVE-2022-50844 in Linuxthông tin

Tóm tắt

Bởi VulDB • 10/07/2026

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

drm/amdgpu: Sửa kiểu tham số thứ hai trong callback odn_edit_dpm_table()

Với cơ chế toàn vẹn luồng điều khiển nhân (kernel control flow integrity - kCFI) của clang (CONFIG_CFI_CLANG), các đích gọi gián tiếp được xác thực dựa trên nguyên mẫu con trỏ hàm dự kiến để đảm bảo đích gọi là hợp lệ, nhằm giúp giảm thiểu các cuộc tấn công ROP. Nếu chúng không khớp nhau hoàn toàn, sẽ xảy ra lỗi khi chạy thời gian, biểu hiện dưới dạng kernel panic hoặc việc thread bị chấm dứt. Một cảnh báo được đề xuất trong clang hướng tới việc bắt giữ những vấn đề này ở giai đoạn biên dịch, điều này tiết lộ:

drivers/gpu/drm/amd/amdgpu/../pm/swsmu/amdgpu_smu.c:3008:29: error: incompatible function pointer types initializing 'int (*)(void *, uint32_t, long *, uint32_t)' (aka 'int (*)(void *, unsigned int, long *, unsigned int)') with an expression of type 'int (void *, enum PP_OD_DPM_TABLE_COMMAND, long *, uint32_t)' (aka 'int (void *, enum PP_OD_DPM_TABLE_COMMAND, long *, unsigned int)') [-Werror,-Wincompatible-function-pointer-types-strict]
.odn_edit_dpm_table = smu_od_edit_dpm_table, ^~~~~~~~~~~~~~~~~~~~~ 1 error generated.

Chỉ có hai triển khai của ->odn_edit_dpm_table() trong 'struct amd_pm_funcs': smu_od_edit_dpm_table() và pp_odn_edit_dpm_table(). Một cái có kiểu tham số thứ hai là 'enum PP_OD_DPM_TABLE_COMMAND' và cái còn lại sử dụng 'u32'. Cuối cùng, smu_od_edit_dpm_table() gọi ->od_edit_dpm_table() từ 'struct pptable_funcs' và pp_odn_edit_dpm_table() gọi ->odn_edit_dpm_table() từ 'struct pp_hwmgr_func', cả hai đều có kiểu tham số thứ hai là 'enum PP_OD_DPM_TABLE_COMMAND'.

Cập nhật kiểu tham số trong nguyên mẫu của 'struct amd_pm_funcs' và pp_odn_edit_dpm_table() thành 'enum PP_OD_DPM_TABLE_COMMAND', điều này giúp loại bỏ cảnh báo.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

chịu trách nhiệm

Linux

Đặt trước

30/12/2025

Tiết lộ

30/12/2025

Kiểm duyệt

được chấp nhận

EPSS

0.00201

KEV

không

Các hoạt động

rất thấp

Nguồn

Interested in the pricing of exploits?

See the underground prices here!