CVE-2026-16225: davenardella snap7 out-of-bounds write in TSnap7Peer::NegotiatePDULength

CVE-2026-16225 · Severity: medium · CVSS 6.3 · Published 2026-07-19

Snap7 is an open-source communication library used to connect software applications with Siemens S7 PLCs (Industrial Controllers). A security flaw allows a malicious server or a network attacker to send a specially crafted message that causes the Snap7 client to crash or corrupt its own memory. This could lead to a denial of service for industrial monitoring systems or potentially allow for further unauthorized actions on the system running the Snap7 client.

Quick answers

Is CVE-2026-16225 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-16225 being exploited in the wild.
How severe is CVE-2026-16225?
Medium severity, with a CVSS score of 6.3, published 19 July 2026.
Which products and versions are affected?
davenardella snap7 up to 1.4.3.
Is there a fix for CVE-2026-16225?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-16225 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-16225?
Check whether anything you run is named in the advisory. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

A client-side intra-object heap overflow exists in davenardella snap7 up to version 1.4.3. The vulnerability is rooted in TSnap7Peer::NegotiatePDULength within src/core/s7_peer.cpp, where the library fails to enforce an upper bound on the PDULength negotiated with a server. An attacker-controlled server can provide an excessively large PDULength, which is subsequently used by TSnap7MicroClient::opWriteArea() to calculate buffer offsets for a memcpy operation. This results in an out-of-bounds write when the client attempts to assemble a local request buffer, leading to heap corruption or a process crash. The exploit is public and requires the attacker to either control the server or intercept the network traffic (man-in-the-middle).

Affected products

  • davenardella snap7 up to 1.4.3

Timeline

  • 2026-07-19: disclosed: Initial disclosure via VulDB and NVD
  • 2026-07-19: advisory

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.