Skip to main content

CIPster CVE-2026-16013

| EUVDEUVD-2026-45163 MEDIUM
Out-of-bounds Read (CWE-125)
2026-07-17 VulDB GHSA-w4qj-vxw3-g77r
5.5
CVSS 4.0 · Vendor: VulDB
Share

Severity by source

Vendor (VulDB) PRIMARY
5.5 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
6.5 MEDIUM

Network-reachable CIP parser with no auth required; OOB read can disclose adjacent stack memory (C:L) and crash the process (A:L).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

4
CVSS changed
Jul 17, 2026 - 12:22 NVD
6.9 (MEDIUM) 5.5 (MEDIUM)
Source Code Evidence Fetched
Jul 17, 2026 - 12:21 vuln.today
Analysis Generated
Jul 17, 2026 - 12:21 vuln.today
CVE Published
Jul 17, 2026 - 11:45 cve.org
MEDIUM 6.9

DescriptionCVE.org

A vulnerability has been found in liftoff-sr CIPster up to 632336d414ef708a542377c1aa8d6fdb7c70a760. Affected by this issue is the function CipAppPath::deserialize_symbolic of the file source/src/cip/cipepath.cc. Such manipulation leads to out-of-bounds read. The attack may be launched remotely. The exploit has been disclosed to the public and may be used. This product operates on a rolling release basis, ensuring continuous delivery. Consequently, there are no version details for either affected or updated releases. The name of the patch is 886a4d090e1c5b0475f0b1c2fe0606a8f0d6a519. A patch should be applied to remediate this issue.

AnalysisAI

Out-of-bounds read in CIPster's EtherNet/IP symbolic path parser exposes industrial control systems to remote availability disruption and potential memory disclosure. The flaw resides in CipAppPath::deserialize_symbolic (source/src/cip/cipepath.cc), where unsafe memcpy calls copy attacker-controlled byte counts from a network-supplied CIP symbolic path segment into a fixed-size stack buffer without bounds enforcement, reachable by a remote unauthenticated attacker sending a crafted EtherNet/IP explicit messaging request. No active exploitation is confirmed (not in CISA KEV), but a POC exploit archive has been publicly released and the CVSS 4.0 E:P modifier corroborates exploit availability.

Technical ContextAI

CIPster (CPE: cpe:2.3:a:liftoff-sr:cipster:*:*:*:*:*:*:*:*) is an open-source C++ implementation of the CIP (Common Industrial Protocol) stack, designed to add EtherNet/IP connectivity to embedded industrial devices such as PLCs and HMIs, typically listening on TCP port 44818. The vulnerability (CWE-125: Out-of-bounds Read) is in the deserialize_symbolic method of the CipAppPath class. The vulnerable code used raw memcpy(tag, in.data(), byte_count) and memcpy(tag, in.data(), symbol_size) to copy attacker-controlled lengths from an incoming CIP symbolic segment into a fixed-size stack buffer (tag) without validating that the requested count fits within the buffer. The BufReader class provides a bounds-enforcing get_bytes() method, but the vulnerable code bypassed it entirely. The patch at commit 886a4d090e1c5b0475f0b1c2fe0606a8f0d6a519 replaces both memcpy calls with in.get_bytes(), adds a CIPSTER_ASSERT(sizeof(tag) > 31) compile-time guard, and adds a std::range_error catch block in the CIP message router (cipmessagerouter.cc) to handle over-read exceptions gracefully rather than propagating them.

RemediationAI

Apply patch commit 886a4d090e1c5b0475f0b1c2fe0606a8f0d6a519 from the CIPster GitHub repository (https://github.com/liftoff-sr/CIPster/commit/886a4d090e1c5b0475f0b1c2fe0606a8f0d6a519), which replaces unsafe memcpy calls with the bounds-enforcing BufReader::get_bytes() method and adds std::range_error handling in the message router. Because the project uses rolling releases, verify your build is at or past this specific commit rather than relying on a version number. As a compensating control where immediate recompilation is not feasible, restrict network access to the EtherNet/IP listener (typically TCP port 44818) using firewall rules or industrial DMZ network segmentation, limiting inbound CIP connections to only trusted engineering workstations and SCADA hosts; this eliminates the network attack surface without disrupting local device operation, though it does not remediate the underlying flaw and should be treated as temporary.

Share

CVE-2026-16013 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy