CVE-2026-72396

Summary

In the Linux kernel, the following vulnerability has been resolved:

hwmon: adm1275: Prevent reading uninitialized stack

While adding support for the ROHM BD127X0 hot-swap controllers, sashiko reported an error in device-name comparison, which can lead to reading uninitialized stack memory.

Quoting Sashiko:

This is a pre-existing issue, but I noticed that just before this block in adm1275_probe(), there might be an out-of-bounds stack read:

ret = i2c_smbus_read_block_data(client, PMBUS_MFR_MODEL, block_buffer);
if (ret < 0) { ... }
for (mid = adm1275_id; mid->name[0]; mid++) {
        if (!strncasecmp(mid->name, block_buffer, strlen(mid->name)))
                break;
}

Since i2c_smbus_read_block_data() reads up to 32 bytes into the uninitialized stack array block_buffer without appending a null terminator, strncasecmp() could read past the valid bytes returned in ret.

For example, if the device returns a shorter string like "adm12", checking it against "adm1275" up to the length of "adm1275" will continue reading into uninitialized stack bounds.

Prevent reading uninitialized memory by zeroing the stack array.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux87102808d03948c825c3bdc48316e48f6422fd7e < 57d583f069fa9d3d0c0831e34b967d1f61edae94affected
LinuxLinux87102808d03948c825c3bdc48316e48f6422fd7e < 82e4ab03a6ab9b87667410f5143bc484d7a62bdcaffected
LinuxLinux87102808d03948c825c3bdc48316e48f6422fd7e < c9e04a52663bc6651c06c2427df088b751062bd6affected
LinuxLinux87102808d03948c825c3bdc48316e48f6422fd7e < 39a581bd64a0e91112ec8017a2dd4e70c1336e99affected
LinuxLinux87102808d03948c825c3bdc48316e48f6422fd7e < aa35cee30686e6be3c890bf741429c5025d55abeaffected
LinuxLinux87102808d03948c825c3bdc48316e48f6422fd7e < 36554592e2f5cac16ff8bf73720d38a6d9ef4a20affected
LinuxLinux87102808d03948c825c3bdc48316e48f6422fd7e < 93b96e723bdcba6172a5814262be875abcc5d269affected
LinuxLinux87102808d03948c825c3bdc48316e48f6422fd7e < 553f9517813912a5ab661af5504485d96824a61caffected
LinuxLinux3.3affected
LinuxLinux0 < 3.3unaffected
LinuxLinux5.10.261 <= 5.10.*unaffected
LinuxLinux5.15.212 <= 5.15.*unaffected
LinuxLinux6.1.178 <= 6.1.*unaffected
LinuxLinux6.6.145 <= 6.6.*unaffected
LinuxLinux6.12.97 <= 6.12.*unaffected
LinuxLinux6.18.40 <= 6.18.*unaffected
LinuxLinux7.1.5 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References