CVE-2023-51392
Executive Summary
CVE-2023-51392 affects Ember ZNet firmware versions 7.2.0 through 7.4.0. The vulnerability arises from the use of software-based AES-CCM encryption instead of the integrated hardware cryptographic accelerators. This substitution increases the risk of side-channel attacks, specifically electromagnetic (EM) and differential power analysis (DPA), which could allow an attacker with physical or close-proximity access to extract cryptographic keys. The CVSS score is 6.2 (Medium), with a low attack complexity but requiring local access. No public exploit code or proof-of-concept is available, and the EPSS score is 0.0%, indicating low exploitation likelihood. However, the risk is significant for IoT deployments where physical security is limited.
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
Supply Chain & Package Security
This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It affects embedded firmware for Zigbee chipsets (Ember ZNet). Supply chain risk is moderate, as the vulnerable firmware is distributed by silicon vendors and integrated into IoT devices. Organizations should verify the firmware version of all Ember-based devices and request patched versions from their device manufacturers.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N
- Base Score: 6.2 (Medium)
- Attack Vector: Local (AV:L) – requires physical or close proximity to the device.
- Attack Complexity: High (AC:H) – successful exploitation requires precise measurement of EM emissions or power consumption.
- Privileges Required: Low (PR:L) – attacker needs some level of access to the device (e.g., ability to run code or observe power traces).
- User Interaction: None (UI:N)
- Scope: Unchanged (S:U)
- Confidentiality Impact: High (C:H) – cryptographic keys could be extracted.
- Integrity Impact: None (I:N)
- Availability Impact: None (A:N)
Threat Level: Medium. While exploitation is complex and requires specialized equipment, the potential for key extraction in sensitive IoT environments (e.g., smart locks, industrial sensors) is serious.
Deep Dive & Mechanics
Ember ZNet is a Zigbee protocol stack used in many IoT devices. The firmware versions 7.2.0 to 7.4.0 were compiled with a software AES-CCM implementation instead of leveraging the dedicated hardware cryptographic accelerators present in the chip. This change was likely made for debugging or compatibility reasons but was inadvertently left in production builds.
Side-Channel Attack Mechanics:
- Electromagnetic Analysis (EMA): By measuring the electromagnetic emanations from the chip during AES operations, an attacker can statistically correlate the emissions with the secret key.
- Differential Power Analysis (DPA): By monitoring the power consumption of the device during encryption, an attacker can use statistical methods to recover the key.
The hardware accelerator, when used, randomizes the timing and power profile of cryptographic operations, making these attacks significantly harder. The software implementation lacks these protections.
Attack Scenario:
- Attacker gains physical proximity to a vulnerable device (e.g., a smart lock).
- Attacker triggers encryption operations (e.g., by sending network packets).
- Attacker captures EM or power traces using an oscilloscope or specialized probe.
- Using statistical analysis (e.g., correlation power analysis), the attacker recovers the AES key.
- With the key, the attacker can decrypt network traffic, impersonate the device, or join the Zigbee network.
Vulnerable vs. Patched Code
Vulnerable Code (Software AES-CCM):
The firmware uses a software AES implementation, typically found in a file like aes_sw.c. The code might look like:
// Vulnerable: Software AES-CCM
void aes_ccm_encrypt(uint8_t *key, uint8_t *nonce, uint8_t *data, uint16_t len) {
// Software AES implementation
aes_encrypt_block(key, data);
// ... CCM mode operations
}
Patched Code (Hardware Accelerator): The patched firmware (v7.4.1+) uses the hardware accelerator via a dedicated API:
// Patched: Hardware AES-CCM
void aes_ccm_encrypt(uint8_t *key, uint8_t *nonce, uint8_t *data, uint16_t len) {
// Use hardware accelerator
hal_aes_ccm_encrypt(key, nonce, data, len);
}
The key difference is the function call: hal_aes_ccm_encrypt invokes the hardware block, which provides side-channel resistance.
Exploitation & Lab Setup
Red Team (Offensive)
Prerequisites:
- Vulnerable device running Ember ZNet v7.2.0–v7.4.0.
- Oscilloscope (e.g., PicoScope 6404D) with high sampling rate (>1 GS/s).
- EM probe (e.g., Langer RF-U 2.5-2) or power measurement shunt resistor.
- Computer with Python and
chipwhispererorscikit-learnfor analysis.
Steps:
- Setup: Connect the EM probe near the chip’s decoupling capacitor or place a 1-ohm shunt resistor on the power line.
- Trigger: Send Zigbee packets to the device to trigger AES operations. Use a Zigbee sniffer (e.g., TI CC2531) to capture network traffic.
- Capture: Use the oscilloscope to record power/EM traces during encryption. Save as CSV or binary.
- Analyze: Use a DPA tool (e.g., ChipWhisperer’s
dpamodule) to correlate traces with guessed key bytes.# Example DPA script (simplified) import numpy as np from chipwhisperer.analyzer import dpa traces = np.load('traces.npy') plaintexts = np.load('plaintexts.npy') key_guess = dpa.cpa(traces, plaintexts, aes_encrypt) print("Recovered key:", key_guess) - Extract Key: After successful DPA, use the key to decrypt Zigbee traffic or impersonate the device.
Blue Team (Defensive)
Detection:
- Monitor for unusual EM emissions or power consumption patterns using spectrum analyzers.
- Deploy physical security measures (e.g., tamper-proof enclosures) to prevent probe access.
- Use firmware integrity checks to detect if software AES is enabled.
Mitigation:
- Immediately upgrade to Ember ZNet v7.4.1 or later.
- If upgrade is not possible, apply a software workaround: disable software AES fallback and force hardware accelerator usage via configuration.
- Implement network-level monitoring for anomalous Zigbee traffic that might indicate key compromise.
Indicators of Compromise (IOCs)
- Firmware Version: Ember ZNet v7.2.0, v7.3.0, v7.4.0.
- Behavioral: Device shows increased power consumption or EM emissions during idle periods (due to software AES).
- Network: Unusual Zigbee packets (e.g., repeated join requests) that might indicate key recovery attempts.
- Physical: Presence of probing equipment (oscilloscope, EM probes) near devices.
Detection Engineering
YARA Rule
rule CVE_2023_51392_Ember_ZNet_Software_AES {
meta:
description = "Detects Ember ZNet firmware with software AES-CCM"
author = "Valters IT"
date = "2025-04-10"
cve = "CVE-2023-51392"
strings:
$sw_aes = "aes_encrypt_block" ascii wide nocase
$hal_aes = "hal_aes_ccm_encrypt" ascii wide nocase
condition:
$sw_aes and not $hal_aes
}
Sigma Rule
title: CVE-2023-51392 Ember ZNet Software AES Detection
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects Ember ZNet firmware versions using software AES-CCM
author: Valters IT
logsource:
product: embedded
service: firmware_analysis
detection:
selection:
firmware_version:
- "7.2.0"
- "7.3.0"
- "7.4.0"
crypto_implementation: "software"
condition: selection
falsepositives:
- Debug builds with intentional software AES
level: high
Suricata Rule
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2023-51392 Ember ZNet Software AES Detection"; flow:to_server; content:"|7.2.0|"; offset:0; depth:5; content:"|7.3.0|"; offset:0; depth:5; content:"|7.4.0|"; offset:0; depth:5; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Upgrade Firmware: Update all Ember ZNet devices to version 7.4.1 or later. Contact device vendors for patched firmware.
- Verify Hardware Usage: In firmware configuration, ensure
HAL_AES_USE_HARDWAREis set to1andHAL_AES_USE_SOFTWAREis set to0. - Physical Security: Deploy tamper-resistant enclosures and monitor for physical probing attempts.
Long-Term Measures:
- Implement cryptographic key rotation policies for Zigbee networks.
- Use side-channel resistant cryptographic libraries (e.g., masked AES) in software fallback paths.
- Conduct regular firmware audits to ensure hardware accelerators are enabled.
Workaround (if patch unavailable):
- Disable software AES fallback by modifying the firmware build configuration:
#define HAL_AES_USE_SOFTWARE 0 #define HAL_AES_USE_HARDWARE 1 - Recompile and flash the firmware.
Valters IT
DevSecOps & Cyber Threat Intelligence Expert
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.