CVE-2024-32943
Executive Summary
CVE-2024-32943 is a remote denial-of-service vulnerability affecting an unidentified SSH implementation, triggered by an attacker sending a high volume of SSH packets that exhaust server resources. The vulnerability carries a CVSS base score of 7.5 (High) due to its network-based attack vector, low complexity, and lack of required authentication or user interaction, though it only impacts availability, not confidentiality or integrity. As of this writing, no confirmed vendor patch exists, no CISA KEV listing is present, and no public exploit code has been identified, but the low barrier to exploitation makes this a high-priority item for organizations exposing SSH services to untrusted networks.
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
Technical Analysis
The vulnerability manifests in the SSH protocol handling layer of the affected, unnamed software product. The core flaw is a resource exhaustion condition triggered by processing a disproportionately high volume of SSH packets within a short time window. The underlying mechanism is characteristic of a CWE-400 (Uncontrolled Resource Consumption) weakness, where the application fails to properly throttle, queue, or limit the number of SSH protocol packets it processes per connection or per time period.
From a technical perspective, the attack exploits the SSH handshake and packet-processing pipeline. During the initial connection phase, the server must allocate memory buffers, cryptographic state, and session objects for each incoming packet before authentication completes. An attacker can open numerous concurrent TCP connections to port 22 and flood each with crafted SSH transport-layer packets (e.g., SSH_MSG_IGNORE, SSH_MSG_DEBUG, or incomplete key-exchange messages). Because these packets are processed before authentication, the server cannot rely on valid credentials as a gate. The lack of rate-limiting on pre-authentication packet counts allows memory and CPU exhaustion, eventually leading to a complete denial of service through process crash, memory exhaustion, or file-descriptor exhaustion.
The attack surface is the publicly exposed SSH daemon on any network-facing host. Since the authentication mechanism is bypassed by the flood of pre-auth packets, the vulnerability is exploitable by any unauthenticated remote actor. Code-level remediation would typically involve implementing per-source-IP rate limiting, enforcing a maximum number of unauthenticated packets per connection, and adding memory-usage caps for pre-authentication sessions. The absence of a confirmed patch suggests the affected library or service may be custom, deprecated, or minimally maintained, increasing the practical risk window.
Exploitation Scenarios
Attack Chain: SSH Packet-Flood Denial of Service
Reconnaissance and Target Identification
- The attacker performs an internet-wide or subnet-wide scan using a tool like
masscanorzmapto identify hosts with port 22 open and responding to a TCP handshake. - The attacker fingerprints the SSH banner (e.g.,
SSH-2.0-OpenSSH, custom banners) to confirm a candidate target. For this CVE, the vulnerable implementation is unidentified, so the attacker prioritizes targets that do not respond with known-secure daemon banners, or targets running niche SSH servers on embedded devices, network appliances, or proprietary systems.
- The attacker performs an internet-wide or subnet-wide scan using a tool like
Initial Foothold — Establishing Packet Flood
- The attacker uses a script or tool such as
hping3,scapy, or a custom Python script to open multiple raw TCP sockets to the target on port 22. - On each socket, the attacker sends a rapid series of raw SSH transport packets (e.g.,
SSH_MSG_KEXINIT,SSH_MSG_IGNORE) with random payload lengths between 64 and 4096 bytes, at a rate exceeding 1,000 packets per second per connection. The attacker distributes the load across 200–2,000 concurrent connections to bypass any per-connection limits that partially exist.
- The attacker uses a script or tool such as
Payload Execution and Resource Exhaustion
- Each packet triggers server-side allocation of a packet buffer and cryptographic context. Because the packets never complete the handshake, the server holds these allocations until a timeout (often 60–120 seconds). With thousands of connections flooding packets, the server’s memory usage climbs to 100% within 30 seconds.
- Additionally, CPU utilization spikes as the server attempts to parse and decrypt (or validate MACs on) each incoming packet. On single-core or constrained embedded systems, this CPU exhaustion alone induces a hang before memory limits are hit.
Post-Exploitation Impact
- The server process becomes unresponsive: it stops accepting new SSH sessions, drops existing authenticated sessions, and in severe cases crashes entirely. If the SSH service is part of a network appliance with a management-plane failover, the flood may trigger a failover, causing a second device to become unavailable while it processes the residual session state.
- The attacker repeats the flood as needed to maintain denial of service. Because the flood requires no authentication and is trivial to generate with bandwidth of less than 10 Mbps, the attacker can sustain the condition indefinitely from a single commodity VPS.
(Note: no public PoC is confirmed; the above is a technical reconstruction based on the CVE description and the CWE-400 resource-consumption class.)
Impact Assessment
The business impact is a high-availability disruption. The CVSS vector (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) yields a base score of 7.5, driven entirely by high availability impact with no confidentiality or integrity impact. The requirements for exploitation are minimal: network access, no special privileges, no user interaction, and low complexity.
Affected systems are any externally exposed SSH endpoints running the vulnerable, unnamed implementation. The blast radius extends beyond the SSH service itself: if the SSH daemon is the primary management interface for network gear (routers, firewalls, switches) or if it shares a process with other services (e.g., SFTP, SCP, or system health monitoring), the entire device may become unusable. In enterprise environments, this can take down remote administration paths, break automated configuration management (Ansible, Puppet) that relies on SSH, and disrupt secure file transfers used in batch jobs.
The lack of a confirmed patch and the absence of CISA KEV listing means the vulnerability may persist in production environments for an extended period. Organizations that rely on perimeter SSH (e.g., jump hosts, bastion servers) face immediate operational risk. The unknown vendor identity complicates mitigations, as security teams cannot proactively inventory their exposure without additional research into their specific SSH stack.
Detection Guidance
Sigma Rule
title: High-Volume SSH Packet Flood - Potential CVE-2024-32943 DoS
id: 5f5e9c3a-4f2b-4b6e-9a3c-5d8e1f2a7b90
status: experimental
description: Detects a high rate of SSH packets from a single source IP, potential rule of CVE-2024-32943.
logsource:
category: network_connection
product: firewalls
definition: Requires netflow or firewall logs with per-connection packet counts.
detection:
selection:
dst_port: 22
bytes_outbound|gte: 10000000
duration|lt: 60s
packets|gte: 10000
condition: selection
falsepositives:
- Legitimate bulk file transfer over SCP/SFTP at high bandwidth
- Automated network scanning tools
level: medium
tags:
- attack.t1498
- cve.2024-32943
YARA Rule
rule CVE_2024_32943_SSH_Flood_Packet
{
meta:
author = "ValterIT Threat Intel"
description = "Detects SSH packets with anomalous characteristics in network captures, indicative of CVE-2024-32943 flood attempts."
date = "2025-01-25"
threat = "Denial of Service"
strings:
$ssh_banner = "SSH-2.0-"
$kexinit = { 14 00 00 00 53 53 48 2D 32 2E 30 2D }
$ignore_msg = { 02 00 00 00 00 }
$debug_msg = { 04 00 00 00 00 }
condition:
uint16(0) == 0x0100 and
( any of them ) and
filesize < 2MB
}
Suricata IDS Rule
alert tcp any any -> any 22 (msg:"ET DETECTED CVE-2024-32943 SSH Packet Flood Denial of Service Attempt"; flow:to_server; byte_test:4,=,0,0,relative; content:"SSH-2.0-"; offset:0; depth:10; threshold:type both, track by_src, count 1000, seconds 10; classtype:attempted-dos; reference:url,https://nvd.nist.gov/vuln/detail/CVE-2024-32943; sid:2024000001; rev:1;)
Note: The Suricata rule uses threshold to trigger when a source IP sends 1,000 SSH packets (with the SSH-2.0- banner content matches) within a 10-second window.
Elastic Detection
sequence by source.ip with maxspan=5s
[network where destination.port == 22 and network.transport == "tcp" and network.protocol == "ssh"]
[network where destination.port == 22 and network.transport == "tcp" and network.protocol == "ssh"]
[network where destination.port == 22 and network.transport == "tcp" and network.protocol == "ssh"]
[network where destination.port == 22 and network.transport == "tcp" and network.protocol == "ssh"]
[network where destination.port == 22 and network.transport == "tcp" and network.protocol == "ssh"]
Note: The sequence rule above is simplified. Production EQL should aggregate packets count fields per source IP within a time window, e.g.:
any where destination.port == 22 and network.protocol == "ssh"
| stats sum(network.packets) as totalPackets by source.ip
| where totalPackets > 5000
Splunk SPL Query
index=netflow or index=firewall dest_port=22
| bin _time span=5s
| stats sum(bytes_out) as total_bytes, sum(packets_out) as total_packets, count as connections by src_ip, _time
| where total_packets > 5000 OR total_bytes > 50000000
| eval threat_type="SSH_Flood_CVE-2024-32943"
| table _time, src_ip, total_packets, total_bytes, connections, threat_type
Note: For firewall logs without packet counts, substitute with sum(bytes_out) thresholds (>50MB in 5s) and count of connections (>100).
Wazuh OSSEC Rule
<group name="ssh,">
<rule id="100240" level="10">
<if_sid>5710</if_sid>
<match>Failed password|Invalid user|exceeded MaxStartups|connection reset by peer</match>
<description>SSH flood detected - possible CVE-2024-32943 denial of service</description>
<group>network_dos,</group>
<mitre>
<id>T1498</id>
</mitre>
</rule>
</group>
Note: Real Wazuh implementations combine this rule with rate-based correlation (e.g., frequency and timeframe attributes) to fire only after 50+ events in 60 seconds for the same source IP.
Mitigation & Patch Guidance
Patch confidence: 2/4 (CLAIMED — single source claims patch, not independently confirmed).
Immediate Mitigations:
- Deploy network-level rate limiting on firewalls or load balancers in front of SSH services, allowing no more than 50 new connections per second per source IP on port 22.
- Enable and enforce
MaxStartupson OpenSSH-based servers (set to10:30:100) to throttle concurrent unauthenticated connections. If the vulnerable implementation is non-OpenSSH, refer to its limit on pre-authentication sessions and reduce it to the minimum viable value. - Use TCP wrappers (hosts.allow/hosts.deny) or IP whitelisting to restrict SSH access to known management subnets only.
Patch/Upgrade Steps:
- Contact the vendor (or identify the unknown library/daemon — check
sshd -Voutput or package manifests for non-standard SSH implementations) and request the patched version referenced but not yet independently confirmed. - Conduct a vulnerability scan against your asset inventory using a sub-7.5 CVSS scanner or custom script that sends 200 rapid pre-auth SSH_MSG_KEXINIT packets to port 22; if the service hangs or drops connections >10 seconds, the target is vulnerable.
- Subscribe to the NVD feed for CVE-2024-32943 to receive automated update notifications when the patched version is formally published.
- Contact the vendor (or identify the unknown library/daemon — check
Long-Term Hardening:
- Isolate SSH services into a management VLAN with no inbound access from untrusted networks.
- Implement a jump-host architecture with a bastion that provides additional rate limiting, session recording, and anomaly detection.
- Institute a policy requiring SSH key-based authentication only, and enable multi-factor authentication to reduce reliance on pre-auth unauthenticated paths (reducing attack surface if combined with password-auth suppression).
- Monitor the vendor landscape: since the vendor is unknown, actively maintain a hash of the vulnerable SSH binary and cross-reference changes against known patched builds using the preliminary patch claim.
References
- National Vulnerability Database — CVE-2024-32943: https://nvd.nist.gov/vuln/detail/CVE-2024-32943
- CISA Known Exploited Vulnerabilities Catalog (no listing for CVE-2024-32943): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- CWE-400 Uncontrolled Resource Consumption: https://cwe.mitre.org/data/definitions/400.html
- MITRE ATT&CK — T1498 Network Denial of Service: https://attack.mitre.org/techniques/T1498/
- FIRST.org EPSS (score not yet available for this CVE): https://www.first.org/epss/search
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.