CVE-2025-38298 Information

Description

In the Linux kernel the following vulnerability has been resolved:

EDAC/skx_common: Fix general protection fault

After loading i10nm_edac (which automatically loads skx_edac_common) if unload only i10nm_edac then reload it and perform error injection testing a general protection fault may occur:

mce: [Hardware Error]: Machine check events logged Oops: general protection fault … … Workqueue: events mce_gen_pool_process RIP: 0010:string+0x53/0xe0 … Call Trace: ? die_addr+0x37/0x90 ? exc_general_protection+0x1e7/0x3f0 ? asm_exc_general_protection+0x26/0x30 ? string+0x53/0xe0 vsnprintf+0x23e/0x4c0 snprintf+0x4d/0x70 skx_adxl_decode+0x16a/0x330 [skx_edac_common] skx_mce_check_error.part.0+0xf8/0x220 [skx_edac_common] skx_mce_check_error+0x17/0x20 [skx_edac_common] …

The issue arose was because the variable ‘adxl_component_count’ (inside skx_edac_common) which counts the ADXL components was not reset. During the reloading of i10nm_edac the count was incremented by the actual number of ADXL components again resulting in a count that was double the real number of ADXL components. This led to an out-of-bounds reference to the ADXL component array causing the general protection fault above.

Fix this issue by resetting the ‘adxl_component_count’ in adxl_put() which is called during the unloading of skxi10nm_edac.

Reference

https://git.kernel.org/stable/c/20d2d476b3ae18041be423671a8637ed5ffd6958 https://git.kernel.org/stable/c/31ef6f7c9aee3be78d63789653e92350f2537f93 https://git.kernel.org/stable/c/3f5d0659000923735350da60ad710f8c804544fe https://git.kernel.org/stable/c/80bf28fd623d97dd4f4825fbbe9d736cec2afba3 https://git.kernel.org/stable/c/a13e8343ffcff27af1ff79597ff7ba241e6d9471 https://git.kernel.org/stable/c/a6ed3a6edff09c1187cc6ade7f5967bca2376a13 https://git.kernel.org/stable/c/bf6a8502a5f4ff6e4d135d795945cdade49ec8b0 https://git.kernel.org/stable/c/e8530ed3c0769a4d8f79c212715ec1cf277787f8

CNNVD-202507-1424 (Published: 2025-07-10)

Share on: