CVE-2024-36844
NoneCVSS
—
EPSS
0.6%
Published
May 31, 2024
CISA due date
—
Cloudanix analysis
A flaw in a common library used for industrial device communication can let attackers send a specially made message that crashes the service and stops normal operations.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free condition triggered via the ctx->backend pointer when processing a crafted message in libmodbus, resulting in memory corruption that leads to process termination.
Why it matters to the business
Disruption of industrial or IoT systems relying on Modbus protocol communications, potentially causing operational downtime in environments using this library for device integration.
How an attack unfolds
An attacker crafts a malicious message targeting the unit-test-server component of libmodbus; delivery of the message triggers the use-after-free on the backend pointer, crashing the process and achieving denial of service.
How to fix it
Upgrade libmodbus to the latest patched release beyond v3.1.6 when available; disable or isolate the unit-test-server component in production deployments; monitor vendor advisories for official fixes.
How to confirm the fix worked
Verify deployed libmodbus version is not 3.1.6; attempt reproduction of the crafted-message crash in a controlled test environment; confirm absence of the vulnerable code path after upgrade.
Typical attack path
- Identify exposed libmodbus unit-test-server instance
- Craft and transmit malicious Modbus message
- Trigger use-after-free dereference of ctx->backend
- Induce process crash and service denial
How to detect it
Review process crash logs and core dumps from applications linked against libmodbus for signs of backend pointer corruption; inspect network traffic for anomalous Modbus messages targeting test server endpoints.
What your security team should do
- Inventory all systems using libmodbus and prioritize updates
- Restrict network exposure of unit-test-server instances
- Implement network segmentation for Modbus traffic
- Monitor for new patch releases and apply promptly
The record
libmodbus v3.1.6 was discovered to contain a use-after-free via the ctx->backend pointer. This vulnerability allows attackers to cause a Denial of Service (DoS) via a crafted message sent to the unit-test-server.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | libmodbus | 0 | No fix |
| Debian:11 | libmodbus | 0 | 3.1.6-2+deb11u1 |
| Debian:12 | libmodbus | 0 | No fix |
| Debian:13 | libmodbus | 0 | No fix |
| Ubuntu:20.04:LTS | libmodbus | 0 | No fix |
| Ubuntu:22.04:LTS | libmodbus | 0 | No fix |
| Ubuntu:24.04:LTS | libmodbus | 0 | No fix |
| Ubuntu:24.10 | libmodbus | 0 | No fix |
| Ubuntu:25.04 | libmodbus | 0 | No fix |
| Ubuntu:25.10 | libmodbus | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | libmodbus | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | libmodbus | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | libmodbus | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | libmodbus | 0 | No fix |
Related vulnerabilities
- CVE-2024-36845 An invalid pointer in the modbus_receive() function of libmodbus v3.1.6 allows attackers… Also affects libmodbus
- CVE-2024-36843 libmodbus v3.1.6 was discovered to contain a heap overflow via the modbus_mapping_free()… Also affects libmodbus
- CVE-2024-34244 libmodbus v3.1.10 is vulnerable to Buffer Overflow via the modbus_write_bits function. Also affects libmodbus
- CVE-2023-26793 libmodbus v3.1.10 has a heap-based buffer overflow vulnerability in read_io_status… Also affects libmodbus