| Title | PcapPlusPlus v25.05 Heap-based Buffer Overflow |
|---|
| Description | A heap-based buffer over-read vulnerability exists in PcapPlusPlus's Modbus protocol parsing module within the pcpp::ModbusLayer::getLength function at ModbusLayer.cpp:45. The flaw is caused by missing validation on the packet buffer length before accessing critical Modbus header fields. When processing a maliciously crafted truncated Modbus TCP packet that is shorter than the required 6-byte standard header length, the function directly reads the length field without checking the actual m_DataLen value. This unsafe memory access triggers a 2-byte out-of-bounds heap read, which corrupts memory and causes an immediate program crash during packet parsing and string conversion. Remote attackers can exploit this vulnerability by supplying a specially malformed Modbus network packet, triggering invalid out-of-bounds heap memory access to cause a denial-of-service (DoS) condition and potential sensitive memory information disclosure. |
|---|
| Source | ⚠️ https://github.com/seladb/PcapPlusPlus/issues/2155 |
|---|
| User | TYGLS (UID 94774) |
|---|
| Submission | 06/01/2026 05:19 (28 days ago) |
|---|
| Moderation | 06/29/2026 06:25 (28 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 374593 [seladb PcapPlusPlus 25.05 Modbus Protocol ModbusLayer.h getLength length heap-based overflow] |
|---|
| Points | 20 |
|---|