hwmon: adm1275: Prevent reading uninitialized stack
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.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.261, 5.15.212, 6.1.178, 6.12.97, 6.18.40, 6.6.145, 7.1.5
- CVEs
- CVE-2026-72396
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 6 Nov 2026, 01:28 UTC · Revision 1
Source evidence
hwmon: adm1275: Prevent reading uninitialized stack
core-osv · Original sourcePublished 15 Aug 2026, 05:56 UTC
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.
osv:CVE-2026-72396
Kernel
Fixed versions: 5.10.261, 5.15.212, 6.1.178, 6.6.145, 6.12.97, 6.18.40, 7.1.5
Complete source record
{
"id": "b7059d0f95858eabf9492cc86697caecbdd3eaea1af8daa93782f1f326d6d9d8",
"url": "https://osv.dev/vulnerability/CVE-2026-72396",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "hwmon: adm1275: Prevent reading uninitialized stack",
"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.",
"evidence": "osv:CVE-2026-72396",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.10.261",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.212",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.178",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.145",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.97",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.40",
"evidence": "/affected/1/ranges"
},
{
"value": "7.1.5",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-72396",
"aliases": [
"CVE-2026-72396"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "87102808d03948c825c3bdc48316e48f6422fd7e"
},
{
"fixed": "57d583f069fa9d3d0c0831e34b967d1f61edae94"
},
{
"fixed": "82e4ab03a6ab9b87667410f5143bc484d7a62bdc"
},
{
"fixed": "c9e04a52663bc6651c06c2427df088b751062bd6"
},
{
"fixed": "39a581bd64a0e91112ec8017a2dd4e70c1336e99"
},
{
"fixed": "aa35cee30686e6be3c890bf741429c5025d55abe"
},
{
"fixed": "36554592e2f5cac16ff8bf73720d38a6d9ef4a20"
},
{
"fixed": "93b96e723bdcba6172a5814262be875abcc5d269"
},
{
"fixed": "553f9517813912a5ab661af5504485d96824a61c"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72396.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "3.3.0"
},
{
"fixed": "5.10.261"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.212"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.178"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.145"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.97"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.40"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "7.1.5"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-72396.json"
}
}
],
"modified": "2026-10-28T02:30:45.637605358Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/36554592e2f5cac16ff8bf73720d38a6d9ef4a20",
"https://git.kernel.org/stable/c/39a581bd64a0e91112ec8017a2dd4e70c1336e99",
"https://git.kernel.org/stable/c/553f9517813912a5ab661af5504485d96824a61c",
"https://git.kernel.org/stable/c/57d583f069fa9d3d0c0831e34b967d1f61edae94",
"https://git.kernel.org/stable/c/82e4ab03a6ab9b87667410f5143bc484d7a62bdc",
"https://git.kernel.org/stable/c/93b96e723bdcba6172a5814262be875abcc5d269",
"https://git.kernel.org/stable/c/aa35cee30686e6be3c890bf741429c5025d55abe",
"https://git.kernel.org/stable/c/c9e04a52663bc6651c06c2427df088b751062bd6",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72396.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-72396",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72396.json"
}
},
"related_cves": [
{
"value": "CVE-2026-72396",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 513863,
"published_at": "2026-08-15T05:56:23.067+00:00"
}