CVE-2024-45168
Executive Summary
CVE-2024-45168 exposes a critical security flaw in UCI IDOL 2 (uciIDOL / IDOL2) through version 2.12. The vulnerability stems from the use of raw sockets for data transmission without any authentication mechanism. This allows unauthenticated, remote attackers to intercept, spoof, or inject data into the communication stream, effectively breaking the trust model between endpoints. The lack of authentication means that any device on the network can impersonate a legitimate participant, leading to potential data breaches, command injection, or denial of service. The vendor has not released a patch, and no public exploit code is available at this time.
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 is not related to NPM, PyPI, Go, or Ruby packages. It affects a standalone embedded system or application (UCI IDOL 2). Supply chain risks include the use of unpatched firmware or software in critical infrastructure.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Base Score: 9.8 (Critical)
- Attack Vector: Network (AV:N) – Exploitable remotely.
- Attack Complexity: Low (AC:L) – No special conditions required.
- Privileges Required: None (PR:N) – No authentication needed.
- User Interaction: None (UI:N) – No user action required.
- Scope: Unchanged (S:U) – Impact confined to the vulnerable component.
- Confidentiality Impact: High (C:H) – Full data exposure.
- Integrity Impact: High (I:H) – Data can be modified.
- Availability Impact: High (A:H) – Service can be disrupted.
Threat Level: Critical. The absence of authentication on raw sockets allows trivial man-in-the-middle (MITM) attacks, data injection, and full compromise of communication integrity.
Deep Dive & Mechanics
The vulnerability lies in the design of UCI IDOL 2, which uses raw sockets (typically raw IP or raw Ethernet frames) for inter-process or inter-device communication. Raw sockets bypass the standard TCP/UDP stack and operate at a lower level, often used for custom protocols. In this implementation, no authentication mechanism (e.g., cryptographic signatures, shared secrets, or TLS) is applied to the data frames. As a result:
- No Endpoint Verification: Any device on the network can send raw frames that appear to come from a legitimate source.
- Data Injection: An attacker can craft malicious raw packets to inject commands or false data.
- Eavesdropping: Since raw sockets often transmit in cleartext, an attacker can passively capture all traffic.
- Spoofing: The attacker can impersonate any endpoint, leading to full control over the communication channel.
The attack surface is network-based, requiring only that the attacker has network access to the same broadcast domain or can route traffic to the target.
Vulnerable vs. Patched Code
Since no patch exists, the vulnerable code pattern is the use of raw sockets without authentication. A patched version would implement:
- Authentication: Use of pre-shared keys, certificates, or HMAC for each packet.
- Encryption: TLS or DTLS for raw socket data.
- Sequence Numbers: To prevent replay attacks.
Vulnerable Code Example (Conceptual):
// Raw socket creation without authentication
int sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
// Send data directly
sendto(sock, buffer, len, 0, (struct sockaddr*)&dest, sizeof(dest));
Patched Code Example (Conceptual):
// Raw socket with HMAC authentication
int sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
// Compute HMAC over payload
unsigned char hmac[32];
hmac_sha256(key, key_len, buffer, len, hmac);
// Append HMAC to packet
memcpy(buffer + len, hmac, 32);
sendto(sock, buffer, len + 32, 0, (struct sockaddr*)&dest, sizeof(dest));
Exploitation & Lab Setup
Red Team (Offensive)
Prerequisites:
- Network access to the target (same subnet or routed).
- Ability to send raw packets (requires root/admin privileges on attacker machine).
- Tools:
scapy,hping3, or custom C/Python scripts.
Exploitation Steps:
- Reconnaissance: Use
tcpdumpor Wireshark to capture raw socket traffic and identify the protocol structure. - Craft Malicious Packet: Using Scapy, create a raw packet that mimics the legitimate protocol but contains malicious payload.
- Inject Packet: Send the crafted packet to the target IP/port.
- Verify Impact: Monitor for command execution, data corruption, or service disruption.
Example Scapy Script:
from scapy.all import *
# Assume raw socket uses IP protocol 254 (example)
packet = IP(dst="192.168.1.100")/Raw(load="\x00\x01\x02\x03") # Malicious payload
send(packet, verbose=0)
Blue Team (Defensive)
Detection:
- Monitor for unexpected raw socket traffic (IP protocols other than TCP/UDP/ICMP).
- Use network intrusion detection systems (NIDS) to flag raw IP packets.
- Implement network segmentation to limit raw socket exposure.
Mitigation:
- If possible, disable raw socket functionality or restrict it to authenticated VLANs.
- Apply firewall rules to block raw IP protocols except from trusted sources.
- Monitor for anomalies in raw socket traffic patterns.
Indicators of Compromise (IOCs)
- Network IOCs:
- Raw IP packets with protocol numbers not typically used (e.g., 254, 255).
- Unusual source MAC addresses sending raw frames to the target.
- Increased volume of raw socket traffic from unknown hosts.
- Host IOCs:
- Unexpected processes using raw sockets (check with
lsof -iornetstat -p). - Unauthorized changes to system configuration or data.
- Logs showing raw socket errors or authentication failures.
- Unexpected processes using raw sockets (check with
Detection Engineering
YARA Rule
rule CVE_2024_45168_RawSocket_Exploit {
meta:
description = "Detects raw socket exploitation attempts targeting UCI IDOL 2"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-45168"
strings:
$raw_socket = "SOCK_RAW" nocase
$ip_proto = "IPPROTO_RAW" nocase
$sendto = "sendto" nocase
condition:
any of them
}
Sigma Rule
title: Raw Socket Traffic Anomaly
id: 7a8b3c4d-5e6f-7890-abcd-ef1234567890
status: experimental
description: Detects raw socket traffic that may indicate exploitation of CVE-2024-45168
author: Valters IT
logsource:
category: network_connection
product: windows
detection:
selection:
Protocol: "RAW"
condition: selection
falsepositives:
- Legitimate raw socket applications
level: high
Suricata Rule
alert ip any any -> any any (msg:"CVE-2024-45168 Raw Socket Exploit Attempt"; ip_proto:!6; ip_proto:!17; ip_proto:!1; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Network Segmentation: Isolate UCI IDOL 2 devices on a separate VLAN with strict ACLs.
- Firewall Rules: Block all raw IP protocols (except TCP/UDP/ICMP) from untrusted networks.
- Monitor Traffic: Enable logging and alerting for raw socket activity.
Long-Term Fix:
- Vendor Patch: Await an official patch from UCI that implements authentication (e.g., HMAC, TLS).
- Custom Wrapper: If source code is available, implement a cryptographic authentication layer over the raw socket.
- Alternative Protocol: Migrate to a secure protocol like TLS over TCP or DTLS over UDP.
Workaround:
- Use a VPN or IPsec tunnel to encrypt and authenticate all traffic between endpoints.
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.