CVE-2024-36435
Executive Summary
CVE-2024-36435 is a critical stack buffer overflow vulnerability in Supermicro BMC firmware affecting a wide range of server motherboards (X11, X12, H12, B12, X13, H13, B13) and CMM6 modules. An unauthenticated attacker can send crafted data to the BMC interface, triggering a stack buffer overflow that may lead to arbitrary remote code execution. With a CVSS score of 9.8, this vulnerability poses a severe threat to data centers and cloud infrastructure. No public proof-of-concept or patch is currently available, but the risk is high due to the potential for full BMC compromise.
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: 9.8 (Critical)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: High
- Integrity Impact: High
- Availability Impact: High
Threat Level: Critical. The vulnerability allows unauthenticated remote code execution on the BMC, which can lead to full server compromise, data exfiltration, and lateral movement within the data center.
Deep Dive & Mechanics
The vulnerability resides in the Supermicro BMC web interface or IPMI handler. The BMC firmware processes user-supplied data without proper bounds checking, leading to a stack buffer overflow. When an attacker sends a specially crafted HTTP request or IPMI packet, the data overwrites the stack, allowing control of the return address and execution of arbitrary code. The BMC runs as a privileged process, so successful exploitation grants full control over the server's management functions, including power cycling, firmware updates, and access to the host OS via KVM or serial-over-LAN.
The affected firmware versions are not publicly specified, but the vulnerability spans multiple motherboard generations (X11, X12, H12, B12, X13, H13, B13) and CMM6 chassis management modules. The lack of authentication requirements makes this especially dangerous for exposed BMC interfaces.
Vulnerable vs. Patched Code
No patched code is available. The vulnerable code likely involves a function that copies user input into a fixed-size stack buffer without length validation. For example:
// Vulnerable pseudo-code
void handle_request(char *user_input) {
char buffer[256];
strcpy(buffer, user_input); // No bounds check
// ... process buffer
}
A patched version would use safe functions like strncpy or snprintf with proper length checks:
// Patched pseudo-code
void handle_request(char *user_input, size_t input_len) {
char buffer[256];
if (input_len >= sizeof(buffer)) {
// Return error
return;
}
strncpy(buffer, user_input, sizeof(buffer) - 1);
buffer[sizeof(buffer) - 1] = '\0';
// ... process buffer
}
Exploitation & Lab Setup
Red Team
Prerequisites:
- Target Supermicro BMC with vulnerable firmware (e.g., X11, X13 series)
- Network access to the BMC IP (default port 443 for web, 623 for IPMI)
- Python3 with
requestsandsocketlibraries
Exploitation Steps:
Reconnaissance: Scan for Supermicro BMCs using Shodan or masscan:
masscan -p443,623 --rate=1000 192.168.1.0/24Craft Payload: Create a buffer overflow payload that overwrites the return address with a ROP chain or shellcode address. Example Python script:
import socket import struct # Target IP and port target_ip = "192.168.1.100" target_port = 443 # Craft payload (example for demonstration) payload = b"A" * 256 # Fill buffer payload += b"BBBB" # Overwrite saved EBP payload += struct.pack("<I", 0xdeadbeef) # Overwrite return address # Send payload via HTTP POST http_request = f"POST /cgi/login.cgi HTTP/1.1\r\nHost: {target_ip}\r\nContent-Length: {len(payload)}\r\n\r\n".encode() + payload sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((target_ip, target_port)) sock.send(http_request) sock.close()Execute: Run the script and monitor for a reverse shell or BMC crash.
Note: No public exploit code is available; this is a conceptual example.
Blue Team
Detection & Response:
- Monitor BMC Logs: Check for unusual HTTP requests or IPMI commands with large payloads.
- Network Segmentation: Ensure BMC interfaces are isolated on a management VLAN and not exposed to the internet.
- Honeypot: Deploy a fake BMC to capture exploit attempts.
- Incident Response: If exploitation is suspected, isolate the affected server, capture memory and network traffic, and contact Supermicro for guidance.
Indicators of Compromise (IOCs)
- Network IOCs:
- Unusually large HTTP POST requests to
/cgi/login.cgior similar endpoints - IPMI packets with malformed or oversized data fields
- Connections from unknown IPs to BMC ports (443, 623, 5900)
- Unusually large HTTP POST requests to
- Host IOCs:
- BMC crash logs or unexpected reboots
- Unauthorized firmware changes
- New user accounts in BMC
- Suspicious processes running on the BMC (e.g., reverse shells)
- File IOCs:
- Modified firmware binaries
- Unexpected files in
/tmpor/varon the BMC
Detection Engineering
YARA Rule
rule Supermicro_BMC_StackOverflow_CVE_2024_36435 {
meta:
description = "Detects potential exploit attempts for CVE-2024-36435 in network traffic or logs"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2024-36435"
strings:
$s1 = "POST /cgi/login.cgi" ascii wide nocase
$s2 = "Content-Length: " ascii wide
$s3 = "AAAA" ascii wide // Placeholder for overflow pattern
condition:
all of ($s1, $s2) and #s3 > 10
}
Sigma Rule
title: Supermicro BMC Stack Buffer Overflow Attempt
id: 8f3a2b1c-4d5e-6f7a-8b9c-0d1e2f3a4b5c
status: experimental
description: Detects HTTP requests with abnormally large payloads targeting Supermicro BMC login endpoints
author: Valters IT
date: 2025-04-10
references:
- CVE-2024-36435
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'POST'
cs-uri-stem: '/cgi/login.cgi'
sc-bytes: '> 1000'
condition: selection
falsepositives:
- Legitimate large firmware uploads (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"Supermicro BMC Stack Buffer Overflow Attempt"; flow:to_server; content:"POST"; http_method; content:"/cgi/login.cgi"; http_uri; content:"Content-Length"; http_header; pcre:"/Content-Length:\s*\d{4,}/"; sid:1000001; rev:1; reference:cve,2024-36435;)
Remediation & Mitigation
Immediate Actions:
- Isolate BMCs: Place all Supermicro BMC interfaces on a dedicated management VLAN with strict firewall rules. Block access from the internet.
- Disable Unused Services: Turn off the web interface if not needed; use IPMI over LAN only with strong authentication.
- Monitor Logs: Enable detailed logging on BMC and SIEM for suspicious activity.
Long-Term Fix:
- Patch: Await official firmware updates from Supermicro. Check the Supermicro support portal regularly.
- Upgrade: If no patch is available, consider replacing affected motherboards with newer models that have fixed firmware.
- Workaround: Use IPMI over LAN with encryption and restrict access to trusted IPs only.
Valters IT Signature:
This report was generated by Valters IT DevSecOps AI. For questions, contact security@valters-it.com.
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.