Description (CNA)
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.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 2075bbe8ef03914aa2211035eec45d1d3a5c4ff2 before 61df14f306f153bffa2f3c74a94ff5a85c99fa39; affected 2075bbe8ef03914aa2211035eec45d1d3a5c4ff2 before a3e9372203afde2c62576356bb9a17890bc7fd6c; affected 2075bbe8ef03914aa2211035eec45d1d3a5c4ff2 before 654a27f25530d052eeedf086e6c3e2d585c203bd |
| Linux / Linux | affected 6.18; unaffected 0 before 6.18; unaffected 6.18.30 through 6.18.*; unaffected 7.0.7 through 7.0.*; unaffected 7.1 through * |
CWE
No CWE identifiers supplied.