Vulnerability record
Bug mechanics, affected systems, and remediation
The editorial record appears before the modeled consequence so the Path Score remains traceable to the documented vulnerability.
1. Summary
CVE-2021-37164 is a stack-based buffer overflow in the tcpTxThread function of the HMI3 Control Panel firmware that runs on Swisslog Healthcare Translogic Nexus Panels — the control panel that governs a hospital’s Translogic pneumatic tube system (PTS) [1]. When the panel copies received network data into a fixed-size stack buffer, an off-by-three length error writes three bytes past the end of the buffer, corrupting adjacent stack memory [1]. Because the affected code path processes the TLP20 control protocol over the network with no authentication and no user interaction, an attacker with network reachability to the panel can crash it (denial of service) or, with a crafted payload, achieve remote code execution on the device [1][6]. It is one of the nine “PwnedPiper” vulnerabilities disclosed by Armis in 2021, and one of four memory-corruption bugs in the TLP20 protocol implementation [3][5].
2. Affected products & versions
| Product | Models | Affected versions | Fixed version |
|---|---|---|---|
| Swisslog Healthcare Translogic Nexus Panel | HMI-3 circuit board, Ethernet-connected | Nexus Software prior to 7.2.5.7 | Nexus Software 7.2.5.7 [1][4] |
| Translogic PTS stations governed by the panel | All station models controlled by the Nexus Control Panel | Governed by affected panel firmware | Via panel upgrade to 7.2.5.7 [5] |
3. The vulnerability in detail
The defect lives in tcpTxThread, a function inside the firmware of the HMI3 Control Panel on the Swisslog Healthcare Translogic Nexus Panel. The Nexus Panel is not an incidental gadget — it is the control panel of a Translogic pneumatic tube system, the network of physical tubes and carriers that hospitals use to shuttle blood samples, lab specimens, medications, and other materials between departments. tcpTxThread is part of the network-handling code that implements the proprietary TLP20 control protocol on the HMI-3 circuit board [1][3]. This places the bug directly on the device’s remote attack surface: a socket-facing thread that parses attacker-influenced bytes before any application-level trust decision has been made.
The root cause is a classic and specific one: improper bounds handling when copying received network data into a fixed-size stack buffer [1]. The firmware reads data off the network and copies it into a buffer allocated on tcpTxThread’s stack frame, but the length calculation governing that copy is wrong by three bytes. The result is an off-by-three condition — the copy writes three bytes beyond the buffer’s high boundary, into whatever stack memory is adjacent [1]. On a typical stack layout, the bytes immediately past a local buffer hold saved registers, the saved frame pointer, and ultimately the saved return address. Overwriting them corrupts the control state the function relies on to return cleanly. This is CWE-787, an out-of-bounds write, and in this instance it manifests as the well-understood stack-based buffer overflow class: the write is out of bounds specifically because it spills off the end of a stack-allocated array [1]. The distinction matters — CWE-787 describes the primitive (a write to memory the code was not entitled to touch), while “stack buffer overflow” describes where and how that primitive is reached, which in turn shapes exploitability. The immediate consequence of the overwrite is confined to the panel process: a three-byte spill is small, so whether it reliably reaches the saved return address (enabling control-flow hijack) versus merely corrupting adjacent locals or the frame pointer (tending toward a crash) depends on the exact stack layout, which the available sources do not detail.
Placing tcpTxThread in context clarifies why the bug is so exposed. This CVE is one of four TLP20-protocol memory-corruption bugs in the PwnedPiper set, sitting alongside a udpRXThread underflow, an sccProcessMsg overflow, and an hmiProcessMsg overflow [5]. All four share the same structural weakness: functions that parse externally-supplied protocol bytes on the HMI-3 board without adequate length validation. tcpTxThread is the TCP-facing member of that family, so the bytes it mishandles arrive over a connected stream rather than a datagram, but the essential failure is identical — trust in an attacker-controlled length field driving a copy into fixed-size stack storage.
The mechanism and trigger are straightforward and require little of the attacker. The preconditions are only two: network reachability to an Ethernet-connected Nexus/HMI3 Control Panel, and vulnerable firmware (a Nexus Software version earlier than 7.2.5.7) [1]. No authentication, no credentials, no physical access, no RF or bus adjacency, and no user interaction are needed — every one of the four TLP20 memory-corruption bugs in this set, including this one, is triggerable by an unauthenticated network packet [6]. The attacker crafts a TLP20-protocol packet and sends it to the panel’s TCP listener. tcpTxThread receives that data and copies it into its stack buffer; the off-by-three miscalculation drives the copy three bytes past the buffer end, overflowing the stack [1]. Depending on the payload, the corrupted stack state either causes the control-panel process to crash — a denial of service that takes the station offline — or, with a deliberately constructed payload, redirects control flow to achieve remote code execution on the panel [1][7]. This is where the bug’s primitive ends; what an attacker can then do to the physical tube system, and how takeover composes with the other PwnedPiper flaws, is downstream consequence and is treated in Section 6, not here.
A step-by-step description of how the bug is reached and what it yields at the device level looks like this:
- The attacker gains network reachability to an Ethernet-connected Translogic Nexus/HMI3 Control Panel — either because the panel is internet-exposed or because the attacker has a foothold inside the hospital network [5].
- The attacker sends a crafted, unauthenticated TLP20-protocol packet to the panel’s TCP listener handled by
tcpTxThread[1]. tcpTxThreadcopies the received data into a stack buffer; the off-by-three miscalculation writes three bytes past the buffer, overflowing the stack (CWE-787) [1].- The stack corruption either crashes the control-panel process (denial of service, loss of station availability) or, with a crafted payload, achieves remote code execution on the panel [1][7].
That is the full extent of what CVE-2021-37164 delivers on its own: an unauthenticated, network-triggered stack overflow in tcpTxThread whose outcome is a crash or code execution on the panel process. It does not, by itself, establish persistence or root — those outcomes depend on chaining to other PwnedPiper bugs, discussed as consequence in Section 6.
4. Discovery & timeline
The vulnerability was discovered and disclosed by Armis, an IoT/OT security research firm, as part of the “PwnedPiper” set of nine vulnerabilities in Swisslog’s Translogic PTS [3][5]. Armis reported the findings to Swisslog on May 1, 2021 [5]. Public disclosure followed in early August 2021, coordinated with a CISA ICS-Medical Advisory (ICSMA-21-215-01) [2]. Public reporting is dated August 2, 2021 [6]; the exact publication date of Armis’s own research hub [3] is not stated in the available sources and is inferred from the surrounding press timing rather than directly sourced. Swisslog responded with fixes delivered in Nexus Software 7.2.5.7; per the vendor, 8 of the 9 PwnedPiper issues — including CVE-2021-37164 — were addressed in 7.2.5.7, with the remaining unauthenticated firmware-upgrade issue slated for a later release [4].
5. Technical reference
- CVE: CVE-2021-37164 [1]
- CWE: CWE-787 (Out-of-bounds Write), manifesting as a stack-based buffer overflow [1]
- CVSS v3.1: 9.8 CRITICAL — vector
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H[1] AV:N(network) andAC:L(low complexity): reachable by a single unauthenticated packet with no special conditions.PR:N/UI:N: no privileges and no user interaction — the two facts that make this remotely and trivially triggerable.S:U(scope unchanged): the CVSS model scores impact on the vulnerable component itself and does not extend to effects beyond it.C:H/I:H/A:H: full compromise of confidentiality, integrity, and availability of the panel, consistent with RCE potential.- CVSS v2: 7.5 [1]
- Code/commit refs: none public; the fix is delivered as a firmware release (Nexus Software 7.2.5.7), not an open-source commit [1][4].
- Advisory bundle: CISA ICSMA-21-215-01 bundles the PwnedPiper CVEs including this one, confirming the unauthenticated network vector and patched version 7.2.5.7 [2].
6. Consequence & CFSE path analysis
Real-world consequence: an unauthenticated attacker who can reach the panel over the network can take over or crash the controller of a hospital pneumatic tube system. In practice that means the specimen/medication transport network can be mis-routed or halted — carriers sent to the wrong destination, or the station taken offline entirely. Per Armis, a compromised Nexus Control Panel lets an attacker act as a man-in-the-middle on carrier transactions, altering requested destinations to mis-route carriers and changing transaction speeds in ways that could damage sensitive payloads such as blood products [6]. What is not in evidence is any demonstrated direct physical injury to a person or high-energy actuation; the harm is to hospital logistics and to the integrity of what the tubes carry.
Chaining beyond this single CVE. Takeover of one control panel via tcpTxThread can be composed with the other PwnedPiper flaws to escalate further. The takeover chain uses hardcoded Telnet credentials plus a privilege-escalation flaw to gain root, and abuse of an unauthenticated/unsigned firmware upgrade to persist in firmware — opening the door to ransomware or data leakage across the affected fleet [6][7]. Two cautions: (a) the persistence, root, and ransomware outcomes map to those other PwnedPiper bugs, not to CVE-2021-37164 alone; and (b) the specific CVE identifiers for those capabilities are CVE-2021-37163 (hardcoded Telnet credentials), CVE-2021-37167 (privilege escalation), and CVE-2021-37160 (unauthenticated firmware update).
Why the CFSE Path Score differs from CVSS: CVSS collapses everything into a single 9.8 driven by the CIA impact on the panel with S:U. CFSE instead decomposes the entry into two co-dominant risk paths and scores each on its own consequence and reach, which is why the picture is richer than one number.
The CFSE path analysis:
- Verdict: CRITICAL.
- Path 1 — DEVICE_CONTROL_SAFETY: treats the unauthenticated, network-reachable RCE via the
tcpTxThreadstack overflow as full code execution over the pneumatic-tube station controller. It can mis-route or halt hospital specimen/medication transport (PH:2 — no demonstrated direct injury or high-energy actuation) while chaining across network → device → control plane and reportedly to firmware persistence via other PwnedPiper CVEs (CH:4). - Path 2 — DEVICE_AVAILABILITY: the pure-DoS variant, where a single malformed packet crashes the controller (EC:4), causing loss of station availability with no severe harm.
- Both paths cite a shared fleet-wide parser primitive (SR:4) and remote fleet-scale reach (SX:4). Recovery is via patching to Nexus 7.2.5.7. (The contrast with signing-root rotation is an analytical inference and is not discussed in any cited source — the sources confirm patching to 7.2.5.7 but say nothing about signing-root rotation.)
- Overall path_verdict: CRITICAL, taken as the worst of the two safety/availability paths, with no cap or systemic uplift applied.
The key takeaway: CFSE’s PH:2 deliberately restrains the safety claim (no proven injury) even as the overall band stays CRITICAL on the strength of remote fleet-scale reach and the control-plane/firmware chaining — a nuance the flat 9.8 cannot express.
7. Remediation & mitigations
Grounded, specific actions:
- Primary fix: upgrade Nexus/HMI3 firmware to Nexus Software 7.2.5.7 or later, which contains the fix for this bug (8 of 9 PwnedPiper CVEs, including CVE-2021-37164, are fixed in this release) [1][4].
- Network exposure: ensure Nexus Control Panels are not internet-exposed and are segmented from the general hospital network, since the only non-firmware precondition for this bug is network reachability to the panel’s TLP20 TCP listener [1][5].
- Access control: apply network ACLs restricting which hosts can reach the panels’ TCP listeners — the specific surface
tcpTxThreadserves [5]. - Detection: deploy the reported Snort IDS signatures to flag the malformed TLP20 traffic patterns associated with the PwnedPiper attacks, which is the traffic that reaches this bug [5].
- Telnet (chain-hardening, not a fix for this bug): block Telnet to the panels. This does not remediate the
tcpTxThreadoverflow itself, but it disrupts the broader takeover/persistence chain, which leverages hardcoded Telnet credentials alongside this bug [5][7]. (The Telnet-credentials issue is a separate PwnedPiper CVE, CVE-2021-37163.)
8. Sources
[1] NVD - CVE-2021-37164 — NVD / NIST — https://nvd.nist.gov/vuln/detail/CVE-2021-37164 — canonical record establishing the off-by-three stack overflow in tcpTxThread, CWE-787, CVSS vectors, and affected/fixed versions. Credibility: primary advisory.
[2] ICSMA-21-215-01: Swisslog Healthcare Translogic PTS — CISA (ICS-Medical Advisory) — https://www.cisa.gov/news-events/ics-medical-advisories/icsma-21-215-01 — authoritative government advisory bundling the PwnedPiper CVEs, confirming unauthenticated network vector, patched version, and mitigations. Credibility: primary advisory.
[3] PwnedPiper (Armis Research) — Armis — https://www.armis.com/research/pwnedpiper/ — original discoverer’s research hub describing TLP20, the takeover chain, and the four memory-corruption bugs including the tcpTxThread overflow. Credibility: researcher-primary.
[4] TransLogic Firmware Vulnerabilities — Swisslog Healthcare — https://www.swisslog-healthcare.com/en-us/company/news/2021/07/translogic-firmware-vulnerabilities — vendor disclosure confirming HMI-3 board firmware flaws, that 8 of 9 issues are fixed in 7.2.5.7, affected Ethernet-connected panels, and remediation. Credibility: primary advisory.
[5] PwnedPiper critical bug set impacts major hospitals in North America — BleepingComputer — https://www.bleepingcomputer.com/news/security/pwnedpiper-critical-bug-set-impacts-major-hospitals-in-north-america/ — technical press summary confirming unauthenticated trigger, full panel takeover, scope, and the May 1, 2021 report date. Credibility: reputable press.
[6] PwnedPiper vulns have potential to turn Swisslog’s PTS hospital products into Swiss cheese, says Armis — The Register — https://www.theregister.com/2021/08/02/pwnedpiper_swisslog_pts/ — press coverage (dated Aug 2, 2021) detailing RCE/DoS impact, the man-in-the-middle carrier mis-routing / speed-change consequence, and the firmware-persistence/ransomware potential. Credibility: reputable press.
[7] PwnedPiper vulnerabilities impact 80% of major hospitals in North America — The Record (Recorded Future News) — https://therecord.media/pwnedpiper-vulnerabilities-impact-80-of-major-hospitals-in-north-america — corroborating scope (3,000+ hospitals / ~80% of major North American hospitals), ransomware/data-leak chaining, and confirmation the bugs were not known to be exploited in the wild. Credibility: reputable press.
Causal model
How the exploit reaches this consequence
2 modeled paths · each transition states what supports it.
Safety · Co-dominant path
Device-control safety
Takeover can mis-route or halt transport, but no credible direct injury or dangerous high-energy actuation is demonstrated.
CRITICAL
Safety · Co-dominant path
Device-control safety
Takeover can mis-route or halt transport, but no credible direct injury or dangerous high-energy actuation is demonstrated.
Network-reachable without prior access
Unauthenticated network packets to the TLP20 port.
Evidence NVD
Cross-domain authority chain
Chains across network to device to control-plane and is noted to chain to firmware persistence, crossing boundaries.
Evidence Derived from the cited facts.
Operational safety effect
Takeover can mis-route or halt transport, but no credible direct injury or dangerous high-energy actuation is demonstrated.
Evidence Derived from the cited facts.
Device-control safety
Takeover can mis-route or halt transport, but no credible direct injury or dangerous high-energy actuation is demonstrated.
Evidence Derived from the cited facts.
Coordinated operational recovery
Recovery requires patching the vulnerable service and verifying affected stations before returning them to operation.
Evidence Required deployment or recovery condition.
Decision trail
How the final band follows
- Base bandCRITICAL
- No adjustment
The CRITICAL base band remains final because no separate cap or systemic uplift applies. Takeover can mis-route or halt transport, but no credible direct injury or dangerous high-energy actuation is demonstrated.
- Final bandCRITICAL
Inspect every metric judgment
Decision rationale
How this band was reached
Reach and effort
- Reachability
RE 4 - Network-reachable without prior access
Unauthenticated network packets to the TLP20 port.
- Execution complexity
EC 3 - Reproducible exploit workflow
Stack overflow with return-address control on a flat-memory RTOS with weak mitigations is a standard-to-advanced researcher workflow.
- Exposure
EX 3 - Execution effort limits exposure
The interface is broadly reachable, but the required technique keeps practical exposure below that reach.
Consequence
- Physical / safety
PH 2 - Operational safety effect
Takeover can mis-route or halt transport, but no credible direct injury or dangerous high-energy actuation is demonstrated.
- Data / perception
DP 3 - Sensitive device or personal data
Remote code execution exposes operational and firmware-relevant state.
- Authority
AT 3 - Administrative or command authority
Code execution in the station controller can govern routing and pneumatic-tube behavior, but it does not provide a vendor firmware-signing key.
Scale and recovery
- Chainability
CH 4 - Cross-domain authority chain
Chains across network to device to control-plane and is noted to chain to firmware persistence, crossing boundaries.
- Reuse scale
SR 4 - Shared fleet-wide primitive
The same malformed message can be reused against affected stations that run the vulnerable Translogic service.
- Execution scale
SX 4 - Remote fleet-scale execution
Network-reachable, no per-device physical access needed.
- Recovery burden
OR 3 - Coordinated operational recovery
Recovery requires patching the vulnerable service and verifying affected stations before returning them to operation.
Confidence and status
- Evidence strength
EV 2 - Documented in a public report
NVD reports the condition.
- Liveness
LS Patch available - A patch is available
A vendor fix is available.
Technical vector
CPATH:1.0/TT:DEVICE_CONTROL_SAFETY/RE:4/EC:3/EX:3/PH:2/DP:3/AT:3/CH:4/SR:4/SX:4/OR:3/EV:2/LS:PATCH_AVAILABLERead the scoring method →Recovery · Co-dominant path
Device availability and recovery
Loss of the station controller disrupts hospital logistics availability with no severe harm.
CRITICAL
Recovery · Co-dominant path
Device availability and recovery
Loss of the station controller disrupts hospital logistics availability with no severe harm.
Network-reachable without prior access
The malformed network message can reach any affected station whose vulnerable service is exposed to the attacker.
Evidence NVD
One cross-boundary bridge
Chains less than full remote code execution, but still crosses network to device boundary.
Evidence Derived from the cited facts.
Operational safety effect
Loss of the station controller disrupts hospital logistics availability with no severe harm.
Evidence Derived from the cited facts.
Device availability and recovery
Loss of the station controller disrupts hospital logistics availability with no severe harm.
Evidence Derived from the cited facts.
Patch, reset, or reconfiguration
Recovery requires patching or restarting affected stations and confirming that transport service has been restored.
Evidence Required deployment or recovery condition.
Decision trail
How the final band follows
- Base bandCRITICAL
- No adjustment
The CRITICAL base band remains final because no separate cap or systemic uplift applies. Loss of the station controller disrupts hospital logistics availability with no severe harm.
- Final bandCRITICAL
Inspect every metric judgment
Decision rationale
How this band was reached
Reach and effort
- Reachability
RE 4 - Network-reachable without prior access
The malformed network message can reach any affected station whose vulnerable service is exposed to the attacker.
- Execution complexity
EC 4 - Straightforward operation
A single malformed packet can crash the controller; the attacker does not need to turn the overflow into reliable code execution.
- Exposure
EX 4 - Reach and effort support the same exposure
The documented reach and required effort are equally permissive, so neither reduces the other.
Consequence
- Physical / safety
PH 2 - Operational safety effect
Loss of the station controller disrupts hospital logistics availability with no severe harm.
- Data / perception
DP 1 - Low-sensitivity state
Data and perception minimal (operational).
- Authority
AT 2 - Bounded function authority
Availability loss bounds the consequence to the device and component.
Scale and recovery
- Chainability
CH 2 - One cross-boundary bridge
Chains less than full remote code execution, but still crosses network to device boundary.
- Reuse scale
SR 4 - Shared fleet-wide primitive
The same vulnerable parser is present across affected station controllers, so the crash method can be repeated.
- Execution scale
SX 4 - Remote fleet-scale execution
Remotely reachable across stations.
- Recovery burden
OR 2 - Patch, reset, or reconfiguration
Recovery requires patching or restarting affected stations and confirming that transport service has been restored.
Confidence and status
- Evidence strength
EV 2 - Documented in a public report
NVD reports the condition.
- Liveness
LS Patch available - A patch is available
A vendor fix is available.
Technical vector
CPATH:1.0/TT:DEVICE_AVAILABILITY/RE:4/EC:4/EX:4/PH:2/DP:1/AT:2/CH:2/SR:4/SX:4/OR:2/EV:2/LS:PATCH_AVAILABLERead the scoring method →Triage implication
Prioritize the safety transition.
Set remediation urgency from the deployment-specific transition between digital control or perception and physical action.
Evidence ledger
Public sources used by this record.
- advisoryNVD
NVD
Published baseline
Why this band differs from CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCFSE Consequence Paths Registry 1.0, CPATH-2026-0010 (“TLP20 tcpTxThread stack overflow”), paths.cfse.ai/CPATH-2026-0010 (published 2026-06-03).