ntop nDPI through 6.0 Out-of-Bounds Read in SoftEther Dissector
Impact
ntop nDPI through 6.0 contains an out-of-bounds read vulnerability in dissect_softether_host_fqdn() in softether.c that compares host_name using the consumed byte count instead of data length. Remote attackers can send crafted short UDP datagrams on already-classified SoftEther flows, causing strncmp to read beyond the packet payload buffer.
Source excerpt · VulnCheckAffected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
ntop · nDPI
Other versions: unaffected
| Version / range | Source status |
|---|---|
| 0 through 6.0 (inclusive) | affected |
Original source description
ntop nDPI through 6.0 contains an out-of-bounds read vulnerability in dissect_softether_host_fqdn() in softether.c that compares host_name using the consumed byte count instead of data length. Remote attackers can send crafted short UDP datagrams on already-classified SoftEther flows, causing strncmp to read beyond the packet payload buffer.
References
- Patch github.com/ntop/nDPI/pull/3298
- Patch github.com/ntop/nDPI/commit/ca9d819151606377ac53305583fe819748c69be2
- Source reference github.com/ntop/nDPI
- Source reference github.com/ntop/nDPI/blob/6.0/src/lib/protocols/softether.c
- Source reference hackmd.io/@haindpwn/ndpi-softether-host-fqdn-strncmp-oob-read
- Source reference github.com/ntop/nDPI/issues/3291
- Security advisory www.vulncheck.com/advisories/ntop-ndpi-through-6.0-out-of-bounds-read-in-softether-dissector