CVE-2023-45735
Executive Summary
CVE-2023-45735 is a high-severity vulnerability affecting Westermo Lynx industrial Ethernet switches. An attacker with network access to the device can execute arbitrary malicious code, potentially disrupting the correct functioning of the device. The vulnerability has a CVSS score of 8.0, indicating significant impact on availability, integrity, and confidentiality. No public exploit code or proof-of-concept is currently available, and no official patch has been released. The vendor recommends network segmentation and access controls as mitigations.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability does not affect NPM, PyPI, Go, or Ruby packages. It is a hardware/firmware issue in Westermo Lynx devices.
CVSS Breakdown & Threat Level
- CVSS Score: 8.0 (High)
- Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Attack Vector (AV): Adjacent Network (A) – attacker must be on the same network segment.
- Attack Complexity (AC): Low (L) – no special conditions required.
- Privileges Required (PR): None (N) – no authentication needed.
- User Interaction (UI): None (N) – no user action required.
- Scope (S): Unchanged (U) – vulnerability does not affect other components.
- Confidentiality (C): High (H) – full data compromise possible.
- Integrity (I): High (H) – full control over device operations.
- Availability (A): High (H) – device can be rendered inoperable.
Threat Level: High. Exploitation could allow an attacker to take full control of the device, disrupt industrial processes, or pivot to other network assets.
Deep Dive & Mechanics
The vulnerability resides in the firmware of Westermo Lynx devices. The exact nature of the flaw is not publicly disclosed, but it allows an unauthenticated attacker on the adjacent network to execute arbitrary code. This could be due to a buffer overflow, command injection, or improper input validation in a network service (e.g., web interface, SNMP, or proprietary protocol). The lack of authentication requirements makes it particularly dangerous in industrial environments where devices are often deployed in flat networks.
Attack Scenario: An attacker gains access to the local network (e.g., via compromised workstation, rogue device, or physical access) and sends a crafted packet to the Lynx device. The device processes the packet without proper validation, leading to code execution with system-level privileges.
Vulnerable vs. Patched Code
No official patch is available. The vendor has not released updated firmware. The following is a hypothetical example of the vulnerable code pattern (e.g., a buffer overflow in a web server):
Vulnerable Code (C):
void handle_request(char *input) {
char buffer[256];
strcpy(buffer, input); // No bounds checking
// Process buffer...
}
Patched Code (Hypothetical):
void handle_request(char *input) {
char buffer[256];
strncpy(buffer, input, sizeof(buffer) - 1);
buffer[sizeof(buffer) - 1] = '\0';
// Process buffer...
}
Without an official patch, users must rely on network-level mitigations.
Exploitation & Lab Setup
Red Team (Exploitation)
No public exploit code is available. A hypothetical exploit would involve sending a crafted packet to the device's vulnerable service. Below is a conceptual Python script for a buffer overflow:
import socket
target_ip = "192.168.1.100"
target_port = 80
# Craft payload: overflow buffer with shellcode
payload = b"A" * 256 # Fill buffer
payload += b"\x90" * 16 # NOP sled
payload += b"\xcc" * 4 # INT3 (breakpoint for testing)
# In real exploit, replace with actual shellcode
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((target_ip, target_port))
sock.send(payload)
sock.close()
Usage: Run the script against a vulnerable device in a lab environment. The device should crash or execute the shellcode.
Blue Team (Detection & Defense)
- Network Segmentation: Isolate Westermo Lynx devices on dedicated VLANs with strict ACLs.
- Access Control: Disable unused services (e.g., HTTP, SNMP) if not required.
- Monitoring: Monitor for anomalous traffic patterns to/from Lynx devices.
- Honeypot: Deploy a decoy Lynx device to detect scanning or exploitation attempts.
Indicators of Compromise (IOCs)
- Network Traffic:
- Unusual packets to port 80/443 (HTTP/HTTPS) or proprietary ports (e.g., 5000-6000).
- Large payloads (e.g., > 1024 bytes) sent to the device.
- Repeated connection attempts from unknown IPs.
- System Logs:
- Device crashes or unexpected reboots.
- Unauthorized configuration changes.
- New user accounts or processes.
- File System:
- Presence of unknown binaries or scripts in
/tmpor/var. - Modified firmware files.
- Presence of unknown binaries or scripts in
Detection Engineering
YARA Rule
rule CVE_2023_45735_Westermo_Lynx_Exploit {
meta:
description = "Detects potential exploit traffic targeting Westermo Lynx devices"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2023-45735"
strings:
$s1 = "Westermo" ascii wide nocase
$s2 = "Lynx" ascii wide nocase
$s3 = { 41 41 41 41 } // "AAAA" pattern for buffer overflow
condition:
any of ($s1, $s2) and $s3
}
Sigma Rule
title: CVE-2023-45735 Westermo Lynx Exploitation Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects network traffic indicative of exploitation of CVE-2023-45735
author: Valters IT
date: 2025-04-10
logsource:
category: network_connection
product: suricata
detection:
selection:
dest_port:
- 80
- 443
- 5000-6000
payload_length: '>1024'
condition: selection
falsepositives:
- Legitimate large firmware updates
level: high
Suricata Rule
alert tcp $EXTERNAL_NET any -> $HOME_NET 80,443,5000:6000 (msg:"CVE-2023-45735 Westermo Lynx Exploit Attempt"; flow:to_server,established; content:"Westermo"; nocase; content:"Lynx"; nocase; pcre:"/AAAA/i"; threshold:type both, track by_src, count 1, seconds 60; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate Actions:
- Restrict network access to Lynx devices using firewalls and VLANs.
- Disable unnecessary services (e.g., web interface, SNMP).
- Monitor device logs for anomalies.
- Long-term:
- Apply firmware updates when released by Westermo.
- Implement network segmentation and zero-trust principles.
- Conduct regular security assessments of OT devices.
- Workarounds:
- Use a VPN or jump host for remote management.
- Enable MAC address filtering on the switch port.
Valters IT