Cloudanix VulnDB

CVE-2024-36845

Medium · 4.3

CVSS

4.3

EPSS

0.5%

Published

May 31, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in software that talks to industrial machines can be triggered by bad data to make those systems stop working, causing downtime.

Exploitation
Remote Authenticated
Attacker needs
Low Privilege
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Invalid pointer dereference in the modbus_receive() function of libmodbus allows a crafted message to trigger a crash, resulting in denial of service.

Why it matters to the business

Disruption of Modbus-based industrial control and automation systems, leading to operational downtime and potential process interruptions in environments relying on the library.

How an attack unfolds

An attacker sends a specially crafted message to a libmodbus instance or the unit-test-server, causing the invalid pointer access in modbus_receive() that crashes the service.

How to fix it

Upgrade libmodbus to a patched release that corrects pointer validation in modbus_receive(). Apply vendor updates across all deployments and test in staging before production rollout.

How to confirm the fix worked

Confirm the deployed libmodbus version includes the fix. Replay non-malicious and boundary-case Modbus messages in a controlled environment to verify the service no longer crashes.

Typical attack path

  1. Locate publicly reachable or internal libmodbus-based services
  2. Craft a malicious Modbus message targeting the receive function
  3. Transmit the message to trigger the invalid pointer dereference
  4. Observe service crash and repeat to sustain denial of service

How to detect it

Inspect process and application logs for unexpected terminations of services using libmodbus that coincide with inbound Modbus traffic. Correlate crash timestamps with network captures on Modbus ports.

What your security team should do

  • Apply available libmodbus updates immediately in all environments
  • Restrict network access to Modbus services using firewalls or segmentation
  • Enable logging of Modbus traffic and process crashes for monitoring

The record

An invalid pointer in the modbus_receive() function of libmodbus v3.1.6 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