CVE-2026-29972 Memory corruption in n/a
A stack-based buffer overflow in nanoMODBUS allows remote code execution via malicious Modbus TCP server responses.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-29972?
CVE-2026-29972 is a high-severity memory corruption vulnerability in n/a, published on 8 May 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
nanoMODBUS through v1.22.0 has a stack-based buffer overflow in recv_read_registers_res() in nanomodbus.c. When a client calls nmbs_read_holding_registers() or nmbs_read_input_registers(), the library writes register data from the server response to the caller-provided buffer based on the response's byte_count field before validating that byte_count matches the requested quantity. A malicious Modbus TCP server can send a response with byte_count=250 (125 registers) regardless of the requested quantity, causing up to 248 bytes of attacker-controlled data to overflow the buffer, potentially allowing remote code execution.
Weakness: CWE-121
Which versions are affected by CVE-2026-29972?
How do I fix CVE-2026-29972?
No fix has been published for CVE-2026-29972 yet. Limit exposure of the affected software until one is available.
Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.
Is CVE-2026-29972 being exploited?
There is no known exploitation of CVE-2026-29972 in the wild and no public exploit code.
Sources
Also known as GHSA-5hc8-p74q-47pp.