Description
In OpENer 2.3.0 (commit 76b95cf) when parsing incoming CIP (Common Industrial Protocol) network packets, the length parameter is inconsistently typed across the call stack. Specifically, an upstream length calculated as an int is passed to a downstream function that expects an EipInt16 (a 16-bit signed integer). If a maliciously crafted packet with specific length fields is processed, the length parameter can overflow or be truncated into a negative value. This negative length bypasses subsequent bounds checking (due to signed/unsigned comparison issues) and is ultimately used in memory operations, leading to a Stack Buffer Overflow when reading data in DecodePaddedEPath.
Metrics
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| n/a | n/a | n/a |
References
- https://gist.github.com/MrAlaskan/e160c626a32e03e5d9eddaa732560672Third Party Advisory
- https://github.com/EIPStackGroup/OpENer/issues/563Exploit, Issue Tracking, Vendor Advisory
- https://github.com/EIPStackGroup/OpENer/issues/563Exploit, Issue Tracking, Vendor Advisory
Timeline
- Published
- Jul 13, 2026
- Last modified
- Aug 11, 2026
- NVD status
- Analyzed