RDMA/ionic: bound node_desc sysfs read with %.64s
In the Linux kernel, the following vulnerability has been resolved: RDMA/ionic: bound node_desc sysfs read with %.64s node_desc[64] in struct ib_device is not guaranteed to be NUL- terminated. The core IB sysfs handler uses "%.64s" for exactly this reason (drivers/infiniband/core/sysfs.c:1307), since node_desc_store() performs a raw memcpy of up to IB_DEVICE_NODE_DESC_MAX bytes with no NUL termination: memcpy(desc.node_desc, buf, min_t(int, count, IB_DEVICE_NODE_DESC_MAX)); If exactly 64 bytes are written via the node_desc sysfs file, the array contains no NUL byte. The ionic hca_type_show() handler uses unbounded "%s" and will read past the end of node_desc into adjacent fields of struct ib_device until it encounters a NUL. ionic supports IB_DEVICE_MODIFY_NODE_DESC, so this is triggerable by userspace. Match the core handler and bound the format specifier.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 6.18.30, 7.0.7
- CVEs
- CVE-2026-53371
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 6 Nov 2026, 18:17 UTC · Revision 1
Source evidence
RDMA/ionic: bound node_desc sysfs read with %.64s
core-osv · Original sourcePublished 19 Jul 2026, 09:10 UTC
In the Linux kernel, the following vulnerability has been resolved: RDMA/ionic: bound node_desc sysfs read with %.64s node_desc[64] in struct ib_device is not guaranteed to be NUL- terminated. The core IB sysfs handler uses "%.64s" for exactly this reason (drivers/infiniband/core/sysfs.c:1307), since node_desc_store() performs a raw memcpy of up to IB_DEVICE_NODE_DESC_MAX bytes with no NUL termination: memcpy(desc.node_desc, buf, min_t(int, count, IB_DEVICE_NODE_DESC_MAX)); If exactly 64 bytes are written via the node_desc sysfs file, the array contains no NUL byte. The ionic hca_type_show() handler uses unbounded "%s" and will read past the end of node_desc into adjacent fields of struct ib_device until it encounters a NUL. ionic supports IB_DEVICE_MODIFY_NODE_DESC, so this is triggerable by userspace. Match the core handler and bound the format specifier.
osv:CVE-2026-53371
Kernel
Fixed versions: 6.18.30, 7.0.7
Complete source record
{
"id": "c98fb08d8abceeeb8b208a9cf0ce1194147ab00d7d54ef6f1a73091e27485f0f",
"url": "https://osv.dev/vulnerability/CVE-2026-53371",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "RDMA/ionic: bound node_desc sysfs read with %.64s",
"summary": "In the Linux kernel, the following vulnerability has been resolved: RDMA/ionic: bound node_desc sysfs read with %.64s node_desc[64] in struct ib_device is not guaranteed to be NUL- terminated. The core IB sysfs handler uses \"%.64s\" for exactly this reason (drivers/infiniband/core/sysfs.c:1307), since node_desc_store() performs a raw memcpy of up to IB_DEVICE_NODE_DESC_MAX bytes with no NUL termination: memcpy(desc.node_desc, buf, min_t(int, count, IB_DEVICE_NODE_DESC_MAX)); If exactly 64 bytes are written via the node_desc sysfs file, the array contains no NUL byte. The ionic hca_type_show() handler uses unbounded \"%s\" and will read past the end of node_desc into adjacent fields of struct ib_device until it encounters a NUL. ionic supports IB_DEVICE_MODIFY_NODE_DESC, so this is triggerable by userspace. Match the core handler and bound the format specifier.",
"evidence": "osv:CVE-2026-53371",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "6.18.30",
"evidence": "/affected/1/ranges"
},
{
"value": "7.0.7",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-53371",
"aliases": [
"CVE-2026-53371"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "2075bbe8ef03914aa2211035eec45d1d3a5c4ff2"
},
{
"fixed": "61df14f306f153bffa2f3c74a94ff5a85c99fa39"
},
{
"fixed": "a3e9372203afde2c62576356bb9a17890bc7fd6c"
},
{
"fixed": "654a27f25530d052eeedf086e6c3e2d585c203bd"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-53371.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.18.0"
},
{
"fixed": "6.18.30"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "7.0.7"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-53371.json"
}
}
],
"modified": "2026-10-28T02:30:47.898036005Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/61df14f306f153bffa2f3c74a94ff5a85c99fa39",
"https://git.kernel.org/stable/c/654a27f25530d052eeedf086e6c3e2d585c203bd",
"https://git.kernel.org/stable/c/a3e9372203afde2c62576356bb9a17890bc7fd6c",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53371.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-53371",
"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/53xxx/CVE-2026-53371.json"
}
},
"related_cves": [
{
"value": "CVE-2026-53371",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 515865,
"published_at": "2026-07-19T09:10:31.706+00:00"
}