Description
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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
2075bbe8ef03914aa2211035eec45d1d3a5c4ff2 to < 61df14f306f153bffa2f3c74a94ff5a85c99fa39affected2075bbe8ef03914aa2211035eec45d1d3a5c4ff2 to < a3e9372203afde2c62576356bb9a17890bc7fd6caffected2075bbe8ef03914aa2211035eec45d1d3a5c4ff2 to < 654a27f25530d052eeedf086e6c3e2d585c203bdaffected
Linux Linux
Default version status: affected
6.18affected0 to < 6.18unaffected6.18.30 to ≤ 6.18.*unaffected7.0.7 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected