☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2024-10238

CVE-2024-10238 Stack Overflow in Supermicro
📅 PUBLISHED: 2025-02-04 08:00 UTC 🔄 UPDATED: 2026-09-23 20:22 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.53%
👁️
0.53% probability
13.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
7.2
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-10238 is a critical stack-based buffer overflow vulnerability (CWE-121) in the firmware image verification implementation of the Supermicro MBD-X12DPG-OA6 motherboard. An authenticated attacker with high privileges can upload a specially crafted firmware image that triggers a stack overflow due to the lack of bounds checking on the fld->used_bytes field. This can lead to arbitrary code execution within the firmware context, potentially allowing persistent compromise of the system's baseboard management controller (BMC) or UEFI environment. The vulnerability has a CVSS score of 7.2 (High) and currently has no known public exploit or patch.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

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.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability is not related to any software package manager (NPM, PyPI, Go, Ruby). It is a hardware firmware issue specific to Supermicro server motherboards.

CVSS Breakdown & Threat Level

  • CVSS Score: 7.2 (High)
  • Vector: CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
  • Attack Vector (AV): Local (L) – Requires physical or logical access to the system.
  • Attack Complexity (AC): Low (L) – No special conditions beyond authentication.
  • Privileges Required (PR): High (H) – Requires administrative or firmware update privileges.
  • User Interaction (UI): None (N) – No user action required beyond the attacker's own.
  • Scope (S): Unchanged (U) – The vulnerability does not cross trust boundaries.
  • Confidentiality (C): High (H) – Full compromise of firmware secrets.
  • Integrity (I): High (H) – Arbitrary code execution in firmware.
  • Availability (A): High (H) – Could render the system unbootable.

Threat Level: High. While the EPSS score is 0.0% (indicating low exploitation likelihood currently), the impact is severe for affected systems in data centers or critical infrastructure.

Deep Dive & Mechanics

The vulnerability resides in the firmware image verification routine of the Supermicro MBD-X12DPG-OA6 motherboard. When a firmware update image is uploaded, the verification function processes a structure containing a field fld->used_bytes. This field is used to determine the size of a buffer or the amount of data to copy. The code fails to validate that fld->used_bytes does not exceed the allocated stack buffer size. An attacker can craft a firmware image where fld->used_bytes is set to a value larger than the buffer, causing a stack overflow when data is copied.

Root Cause: Missing bounds check on fld->used_bytes before memory copy operations.

Attack Scenario:

  1. Attacker gains administrative access to the server (e.g., via compromised credentials or physical access).
  2. Attacker crafts a malicious firmware image with an oversized fld->used_bytes field.
  3. The image is uploaded via the BMC web interface or a firmware update tool.
  4. The verification routine copies data based on the attacker-controlled size, overflowing the stack.
  5. The overflow overwrites the return address or other critical stack data, leading to arbitrary code execution in the firmware context.

Impact: Full control over the BMC or UEFI, allowing persistent backdoor, data exfiltration, or denial of service.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual C):

void verify_firmware_image(struct firmware_image *img) {
    char buffer[256];
    // ... other code ...
    memcpy(buffer, img->data, img->fld->used_bytes); // No bounds check
    // ... verification logic ...
}

Patched Code (Conceptual C):

void verify_firmware_image(struct firmware_image *img) {
    char buffer[256];
    // ... other code ...
    if (img->fld->used_bytes > sizeof(buffer)) {
        // Reject image
        return -1;
    }
    memcpy(buffer, img->data, img->fld->used_bytes);
    // ... verification logic ...
}

The patched version adds a check to ensure fld->used_bytes does not exceed the buffer size before performing the copy.

Exploitation & Lab Setup

Red Team (Offensive)

Lab Environment:

  • Supermicro MBD-X12DPG-OA6 motherboard with vulnerable firmware.
  • Attacker machine with network access to the BMC (e.g., IPMI).
  • Tools: Python, ipmitool, custom firmware image generator.

Exploitation Steps:

  1. Identify Target: Scan for Supermicro BMCs on the network (default IPMI port 623).
  2. Gain Access: Use default credentials or brute-force to obtain admin access.
  3. Craft Malicious Image: Create a firmware image where the fld->used_bytes field is set to a value > 256 (e.g., 512). Include shellcode in the data portion to overwrite the return address.
  4. Upload Image: Use ipmitool or the web interface to upload the crafted image.
  5. Trigger Overflow: The verification routine processes the image, causing a stack overflow and executing the shellcode.
  6. Maintain Access: The shellcode can install a persistent backdoor in the BMC firmware.

Example Python Script (Conceptual):

import struct

def craft_malicious_image():
    # Buffer overflow payload
    payload = b"A" * 256  # Fill buffer
    payload += struct.pack("<I", 0xdeadbeef)  # Overwrite return address
    payload += b"\x90" * 100  # NOP sled
    payload += shellcode  # Your shellcode here

    # Craft firmware image with oversized used_bytes
    image = struct.pack("<I", len(payload))  # fld->used_bytes
    image += payload
    return image

# Upload via ipmitool or web interface

Blue Team (Defensive)

Detection & Prevention:

  • Monitor BMC Logs: Look for failed firmware update attempts or unusual image sizes.
  • Network Segmentation: Isolate BMCs on a separate management VLAN.
  • Access Control: Enforce strong passwords and multi-factor authentication for BMC access.
  • Firmware Integrity: Use signed firmware images and verify signatures before upload.
  • Honeypot: Deploy a fake BMC to detect scanning and exploitation attempts.

Incident Response:

  • If exploitation is suspected, isolate the affected server from the network.
  • Perform forensic analysis of BMC logs and firmware image.
  • Reflash the BMC with a known good firmware version.
  • Rotate all credentials that may have been compromised.

Indicators of Compromise (IOCs)

  • Network: Unusual traffic to/from BMC IP on port 623 (IPMI) or 443 (web interface).
  • File: Firmware images with abnormally large used_bytes fields (e.g., > 256 bytes).
  • Log: BMC logs showing failed firmware verification with error codes related to buffer overflow.
  • Process: Unexpected processes running on the BMC (if accessible via SSH).
  • Memory: Stack corruption patterns in BMC memory dumps.

Detection Engineering

YARA Rule

rule CVE_2024_10238_SuperMicro_Firmware_Overflow {
    meta:
        description = "Detects malicious firmware images exploiting CVE-2024-10238"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2024-10238"
    strings:
        $overflow_marker = { FF FF FF FF }  // Example marker for oversized field
        $firmware_header = "SUPERMICRO" nocase
    condition:
        $firmware_header and #overflow_marker > 10
}

Sigma Rule

title: Supermicro Firmware Overflow Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects attempts to upload oversized firmware images to Supermicro BMC
author: Valters IT
logsource:
    product: supermicro
    service: bmc
detection:
    selection:
        EventID: 1001  # Example firmware upload event
        ImageSize: ">256"
    condition: selection
falsepositives:
    - Legitimate large firmware updates (rare)
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET 623 (msg:"CVE-2024-10238 Supermicro Firmware Overflow Attempt"; flow:to_server; content:"|00 00 00 01|"; depth:4; offset:0; content:"|FF FF FF FF|"; distance:0; within:4; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate Affected Systems: Disconnect the vulnerable motherboard from production networks until a patch is available.
  2. Restrict Access: Limit BMC access to authorized administrators only via firewall rules.
  3. Monitor Logs: Enable detailed logging on BMC and monitor for suspicious firmware update attempts.

Long-Term Fix:

  • Vendor Patch: Await an official firmware update from Supermicro that includes bounds checking on fld->used_bytes.
  • Workaround: If patching is not possible, disable firmware update functionality via BMC configuration (if supported).
  • Hardware Replacement: Consider replacing the motherboard with a newer model that is not affected.

Compensating Controls:

  • Use a hardware security module (HSM) to sign firmware images.
  • Implement network-based intrusion detection (NIDS) to detect exploit attempts.
  • Regularly audit BMC configurations and access logs.

Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-10238/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.