☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
SOON CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H 🐛 CWE-787
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2023-47252

CVE-2023-47252 Out-of-Bounds Access in Insyde
📅 PUBLISHED: 2024-04-26 00:00 UTC 🔄 UPDATED: 2026-08-12 09:02 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.13%
👁️
0.13% probability
3.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: kernel 5.0 through 5.6 (fixed in 5.2 v05.28.45, 5.3 v05.37.45, 5.4 v05.45.45, 5.5 v05.53.45, 5.6 v05.60.45)
CVSS VECTOR BREAKDOWN 0.0
AV: L Attack Vector Local
AC: L Attack Complexity Low
PR: H Privileges Required High
UI: N User Interaction None
S: C Scope Changed
C: H Confidentiality High
I: H Integrity High
A: H Availability High
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-47252 is a critical vulnerability in the Insyde InsydeH2O firmware, specifically within the PnpSmm (Plug and Play System Management Mode) component. The flaw resides in the SMM communication buffer handling, where PNP-related SMI (System Management Interrupt) sub-functions fail to verify data size before reading from the communication buffer. This oversight allows an attacker with local, high-privilege access (e.g., kernel-mode code) to trigger an out-of-bounds write, potentially corrupting memory immediately following the command buffer with a fixed value. This can lead to system instability, privilege escalation, or arbitrary code execution within the SMM context, which operates at the highest privilege level (Ring -2). The vulnerability affects InsydeH2O kernels 5.0 through 5.6, with patches available for versions 5.2 to 5.6. The EPSS score is 0.0%, indicating low exploitation likelihood in the wild, but the severity is high due to the potential for complete system compromise.

⚡ 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 NPM, PyPI, Go, or Ruby packages. It is a firmware-level issue affecting the InsydeH2O UEFI BIOS, which is a critical component in the supply chain of many devices (e.g., laptops, servers, embedded systems). Organizations should verify the firmware version of their devices and apply patches from the OEM (Original Equipment Manufacturer) that uses InsydeH2O.

CVSS Breakdown & Threat Level

The CVSS score is not provided in the NVD data, but based on the vulnerability characteristics, a reasonable estimate is:

  • Attack Vector (AV): Local (L) – Requires local access to the system.
  • Attack Complexity (AC): Low (L) – The SMI handler is triggered via standard SMM communication protocols.
  • Privileges Required (PR): High (H) – Requires kernel-level privileges to send crafted SMI commands.
  • User Interaction (UI): None (N) – No user interaction needed.
  • Scope (S): Changed (C) – The vulnerability can impact resources beyond the original security scope (e.g., SMM memory).
  • Confidentiality (C): High (H) – Potential to read SMM memory.
  • Integrity (I): High (H) – Potential to write to SMM memory.
  • Availability (A): High (H) – Potential to crash the system or corrupt firmware.

Estimated CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H Estimated Base Score: 8.2 (High)

Threat Level: High. While the EPSS score is low, the impact of successful exploitation is severe, allowing an attacker to gain persistent, privileged access to the firmware layer.

Deep Dive & Mechanics

The vulnerability is located in the PnpSmm driver, which handles Plug and Play (PNP) events in System Management Mode (SMM). SMM is a highly privileged operating mode in x86/x64 processors, used for system management functions like power management and hardware control. The SMM communication buffer is a shared memory region used by the OS (via SMI) to pass data to SMM code.

The flaw is an out-of-bounds write in the SMM communication buffer. Specifically, the PNP-related SMI sub-functions do not validate the size of the data being read from the communication buffer before processing. An attacker with kernel-level access can craft an SMI command that specifies a small data size, causing the SMM code to read beyond the intended buffer. This can lead to writing a fixed value (likely a constant or a controlled value) to memory immediately following the command buffer, corrupting adjacent SMM data structures or code.

The attack flow:

  1. Attacker gains kernel-mode execution (e.g., via a driver or OS exploit).
  2. Attacker sends a crafted SMI command to the PnpSmm handler.
  3. The handler reads the command buffer without verifying the data size.
  4. The out-of-bounds write corrupts SMM memory, potentially overwriting critical pointers or code.
  5. This can lead to arbitrary code execution in SMM, allowing the attacker to bypass OS security mechanisms (e.g., Secure Boot, virtualization-based security).

Vulnerable vs. Patched Code

The vulnerable code is in the PnpSmm SMI handler. The exact code is not publicly available, but the patch description indicates that the fix involves adding size validation before reading from the communication buffer.

Vulnerable Code (Conceptual):

// Vulnerable: No size check
void PnpSmmHandler(EFI_SMM_COMMUNICATION_BUFFER *CommBuffer) {
    UINTN DataSize = CommBuffer->DataSize; // Attacker-controlled
    UINT8 *Data = CommBuffer->Data;
    // Process data without checking if DataSize exceeds buffer
    for (UINTN i = 0; i < DataSize; i++) {
        // Out-of-bounds read/write possible
        ProcessData(Data[i]);
    }
}

Patched Code (Conceptual):

// Patched: Size validation added
void PnpSmmHandler(EFI_SMM_COMMUNICATION_BUFFER *CommBuffer) {
    UINTN DataSize = CommBuffer->DataSize;
    UINT8 *Data = CommBuffer->Data;
    // Validate size against buffer capacity
    if (DataSize > MAX_BUFFER_SIZE) {
        return EFI_INVALID_PARAMETER;
    }
    for (UINTN i = 0; i < DataSize; i++) {
        ProcessData(Data[i]);
    }
}

The patch ensures that the DataSize field does not exceed the actual buffer size, preventing out-of-bounds access.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Local access to a system with vulnerable InsydeH2O firmware (kernel 5.0-5.6).
  • Kernel-level code execution (e.g., via a signed driver or kernel exploit).
  • Knowledge of the SMM communication protocol and the specific SMI command for PNP.

Exploitation Steps:

  1. Identify SMI Command: Reverse engineer the PnpSmm driver to find the SMI command GUID and sub-function codes.
  2. Craft Malicious SMI: Create a kernel-mode driver that sends an SMI with a crafted CommBuffer where DataSize is set to a value larger than the actual buffer.
  3. Trigger Out-of-Bounds Write: The SMM handler will write a fixed value (e.g., 0x00 or 0xFF) to memory beyond the buffer, corrupting adjacent SMM structures.
  4. Escalate Privileges: Use the corruption to overwrite a function pointer or return address in SMM, redirecting execution to attacker-controlled code (e.g., shellcode placed in the communication buffer).
  5. Maintain Persistence: Install a rootkit in SMM that survives OS reboots.

Example (Conceptual):

// Kernel-mode driver to trigger CVE-2023-47252
#include <ntddk.h>
#include <Uefi.h>

#define SMI_COMMAND_GUID {0x12345678, 0x1234, 0x1234, {0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0}}

typedef struct {
    EFI_GUID HeaderGuid;
    UINTN MessageLength;
    UINT8 Data[0x100]; // Small buffer
} MALICIOUS_COMM_BUFFER;

VOID TriggerExploit() {
    MALICIOUS_COMM_BUFFER CommBuffer;
    RtlZeroMemory(&CommBuffer, sizeof(CommBuffer));
    CommBuffer.HeaderGuid = SMI_COMMAND_GUID;
    CommBuffer.MessageLength = 0x1000; // Out-of-bounds size
    // Send SMI via EFI_SMM_COMMUNICATION_PROTOCOL
    // (Actual implementation depends on UEFI runtime services)
}

Blue Team

Detection:

  • Monitor for unusual SMI calls from kernel-mode drivers (e.g., via ETW or Sysmon).
  • Look for SMI commands with abnormally large data sizes.
  • Use firmware integrity monitoring tools (e.g., CHIPSEC) to detect SMM memory corruption.

Mitigation:

  • Apply the firmware patch from the OEM.
  • Enable Secure Boot and virtualization-based security (VBS) to limit kernel-mode access.
  • Use hardware-based attestation (e.g., Intel TXT) to verify SMM integrity.

Indicators of Compromise (IOCs)

  • SMM Communication Buffer Corruption: Unexpected values in SMM memory regions (e.g., fixed patterns like 0x00 or 0xFF).
  • Kernel-Mode Driver Activity: Unsigned or suspicious drivers that interact with SMM (e.g., via \\.\Smm device).
  • Event Logs: Windows Event ID 1 (Process Creation) for unknown kernel drivers, or UEFI firmware logs indicating SMI errors.
  • Firmware Hash Mismatch: Changes to the SMM code region detected by runtime integrity checks.

Detection Engineering

YARA Rule

rule CVE_2023_47252_PnpSmm_Exploit {
    meta:
        description = "Detects kernel-mode drivers attempting to exploit CVE-2023-47252 via oversized SMI buffers"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2023-47252"
    strings:
        $smi_guid = { 78 56 34 12 34 12 34 12 12 34 56 78 9A BC DE F0 } // Example GUID
        $large_size = { 00 10 00 00 } // 0x1000 in little-endian
    condition:
        $smi_guid and $large_size
}

Sigma Rule

title: CVE-2023-47252 - PnpSmm Out-of-Bounds Write Exploitation
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects kernel-mode drivers sending oversized SMI buffers to the PnpSmm handler
author: Valters IT
date: 2025-04-10
logsource:
    product: windows
    service: sysmon
    category: process_creation
detection:
    selection:
        Image|endswith: '.sys'
        CommandLine|contains: 'Smm'
    condition: selection
falsepositives:
    - Legitimate firmware update tools
level: high

Suricata Rule

alert ip any any -> any any (msg:"CVE-2023-47252 - PnpSmm Out-of-Bounds Write Attempt"; content:"|78 56 34 12 34 12 34 12 12 34 56 78 9A BC DE F0|"; depth:16; offset:0; content:"|00 10 00 00|"; distance:16; within:4; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Apply Firmware Patch: Update InsydeH2O to the fixed kernels:

    • Kernel 5.2: v05.28.45
    • Kernel 5.3: v05.37.45
    • Kernel 5.4: v05.45.45
    • Kernel 5.5: v05.53.45
    • Kernel 5.6: v05.60.45 Contact your device OEM for the specific firmware update.
  2. Limit Kernel-Mode Access: Enable Driver Signature Enforcement, Virtualization-Based Security (VBS), and Hypervisor-Protected Code Integrity (HVCI).

  3. Monitor SMM Activity: Use tools like CHIPSEC to scan for SMM vulnerabilities and monitor for unexpected SMI calls.

  4. Incident Response: If exploitation is suspected, isolate the system, capture firmware memory (via JTAG or SPI flash), and analyze for SMM rootkits.


Valters IT

👁️ SHODAN DORKS (THREAT HUNTING)

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.

InsydeH2O
PnpSmm
SMM communication buffer

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2023-47252/ · 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.