CVE-2026-89497
nicheHeap buffer overflow in Linux kernel OrangeFS client debug keyword parsing
The Linux kernel's OrangeFS client driver contains a heap buffer overflow in orangefs_prepare_cdm_array(), which sizes each client debug keyword buffer with strcspn(cds_head, " ") — a function that stops at the first space but does not skip leading whitespace — while the subsequent sscanf() %s conversion does skip leading whitespace. If a client debug entry begins with a space, the kernel allocates a buffer sized for an empty keyword and then copies the following non-empty token past the end of that allocation. A local low-privileged attacker who can set the OrangeFS client debug mask can trigger kernel heap memory corruption, with high impact to confidentiality, integrity, and availability (CVSS 3.1 7.8), plausibly enabling local privilege escalation or a denial-of-service via kernel panic. Only systems running kernels with the OrangeFS client driver (CONFIG_ORANGEFS_FS) enabled and the module loaded — primarily HPC clusters using OrangeFS/PVFS2 — are affected; note that the debug interface is typically restricted to privileged users, which further limits practical exploitability. No public proof-of-concept exists and the flaw is not known to be exploited in the wild.
What to do: Apply a kernel update containing the upstream fix, which skips leading spaces before computing the keyword length so the allocation matches what sscanf() parses. Until patched, restrict writes to the OrangeFS client debug settings (module parameter/sysfs interface) to trusted administrators, and unload or blacklist the orangefs module on any system that does not need to mount the filesystem. Review kernel logs on OrangeFS-enabled nodes for crashes or faults in orangefs debug parsing.
| Linux kernel (OrangeFS client driver, orangefs) | — |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
In the Linux kernel, the following vulnerability has been resolved: orangefs: skip leading spaces before parsing client debug masks orangefs_prepare_cdm_array() sizes each client debug keyword buffer with strcspn(cds_head, " "), but then parses the keyword with %s. The %s conversion skips leading whitespace, while strcspn() does not. If a client debug entry starts with a space, the allocation can be sized for an empty keyword while sscanf() copies the following non-empty token. This can write past the end of the allocated keyword buffer. Skip leading spaces before computing the keyword length so the allocation matches the string parsed by sscanf().
- Vector
- CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
In the news0 stories
No ingested article mentions this CVE yet.