☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Moxa logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 7 🐛 CWE-325
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-9266

CVE-2026-9266 Vulnerability in Moxa
📅 PUBLISHED: 2026-06-12 11:16 UTC 🔄 UPDATED: 2026-08-18 17:15 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.07%
👁️
0.07% probability
1.8× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
Country: Taiwan License: Commercial
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.0
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

SHADOW_DORKS: ["Moxa embedded Linux TPM", "Moxa CVE-2026-9266", "Moxa TPM2 parameter encryption"]

Executive Summary

CVE-2026-9266 is a Missing Required Cryptographic Step vulnerability in Moxa’s embedded Linux firmware for industrial computers and controllers. This flaw represents an incomplete remediation of CVE-2026-0714. The vendor attempted to introduce TPM2 parameter encryption as a countermeasure, but an omission in the authorization session configuration renders the encryption ineffective. An attacker with invasive physical access can capture TPM communications on the SPI bus and derive the LUKS disk encryption key in plaintext. While remote exploitation is not possible, successful exploitation leads to full compromise of the encrypted disk volume. The attack requires opening the device and attaching external equipment to the SPI bus, and does not affect downstream systems.

Key Risk: Physical compromise of encrypted data at rest on Moxa industrial devices.

⚡ 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

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:P/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
  • Base Score: 4.6 (Medium)
  • Attack Vector: Physical (AV:P) – requires invasive physical access.
  • Attack Complexity: Low (AC:L) – standard SPI bus probing tools suffice.
  • Privileges Required: None (PR:N)
  • User Interaction: None (UI:N)
  • Scope: Unchanged (S:U)
  • Confidentiality Impact: High (C:H) – LUKS key fully exposed.
  • Integrity Impact: None (I:N)
  • Availability Impact: None (A:N)

Threat Level: Medium – Exploitation is physically invasive but yields high-value cryptographic material.

Deep Dive & Mechanics

The vulnerability stems from a flawed implementation of TPM2 parameter encryption in Moxa’s embedded Linux firmware. The firmware was patched for CVE-2026-0714 by enabling TPM2 parameter encryption to protect TPM commands and responses from eavesdropping on the SPI bus. However, the authorization session configuration was omitted, meaning the encryption key used for parameter encryption is not properly bound to the session. As a result, the encryption provides no effective protection—an attacker can still capture the plaintext TPM traffic.

Technical Flow:

  1. The device boots and uses TPM to unseal the LUKS disk encryption key.
  2. The TPM2 parameter encryption is enabled but the authorization session is misconfigured (missing required HMAC or salt).
  3. An attacker probes the SPI bus between the CPU and TPM chip using a logic analyzer or SPI sniffer.
  4. The attacker captures the TPM command/response traffic, which is transmitted in plaintext despite the encryption flag.
  5. The LUKS key is extracted from the captured data.
  6. The attacker can then decrypt the disk volume offline.

Root Cause: Incomplete remediation of CVE-2026-0714 – the encryption was added but the session setup was not corrected.

Vulnerable vs. Patched Code

No official patch is available. The vulnerable code is in the TPM2 stack initialization within the firmware. The missing step is the proper configuration of the authorization session (e.g., setting TPM2_RS_PW or using a proper HMAC session).

Vulnerable Code (Conceptual):

// TPM2 session setup - missing authorization configuration
TPM2_StartAuthSession(sessionHandle, tpmKey, bindKey, nonceCaller, encryptedSalt, sessionType, symmetric, authHash);
// Parameter encryption enabled but session not bound
TPM2_EncryptDecrypt(encrypt, decrypt, keyHandle, iv, data, dataSize);

Patched Code (Expected):

// Proper session setup with authorization
TPM2_StartAuthSession(sessionHandle, tpmKey, bindKey, nonceCaller, encryptedSalt, sessionType, symmetric, authHash);
// Bind session to encryption operation
TPM2_EncryptDecrypt(encrypt, decrypt, keyHandle, iv, data, dataSize, sessionHandle);

The patch must ensure the authorization session is correctly linked to the encryption operation, preventing plaintext exposure on the SPI bus.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Physical access to the Moxa device.
  • SPI bus probing equipment (e.g., Saleae Logic Analyzer, Bus Pirate).
  • LUKS key extraction tools (e.g., luksDump, custom script).

Exploitation Steps:

  1. Open the device enclosure to access the mainboard.
  2. Identify the SPI bus lines (SCK, MOSI, MISO, CS) between the CPU and TPM chip.
  3. Connect the logic analyzer probes to the SPI lines.
  4. Power on the device and capture the boot sequence.
  5. Filter the captured SPI traffic for TPM commands (e.g., TPM2_CC_Unseal).
  6. Extract the LUKS key from the plaintext TPM response.
  7. Use the key to decrypt the disk volume offline.

Example SPI Capture Filter (Python):

import spidev
# Not actual exploit code - conceptual
spi = spidev.SpiDev()
spi.open(0, 0)
spi.max_speed_hz = 1000000
# Capture TPM traffic
while True:
    resp = spi.readbytes(256)
    if b'TPM2_CC_Unseal' in resp:
        print("Captured TPM command")
        # Extract key

Blue Team

Detection:

  • Monitor for physical intrusion (tamper switches, enclosure seals).
  • Use SPI bus monitoring with anomaly detection (e.g., unexpected TPM commands).
  • Implement TPM2 session authorization verification at boot.

Mitigation:

  • Apply firmware patch when available.
  • Use physical security measures (tamper-evident seals, locked enclosures).
  • Enable TPM2 audit logs and monitor for unauthorized access.

Indicators of Compromise (IOCs)

  • Physical: Broken tamper seals, opened device enclosure.
  • SPI Bus: Unusual TPM command sequences or repeated TPM2_CC_Unseal calls.
  • Logs: TPM audit log entries showing failed authorization attempts.
  • Network: No network IOCs – attack is purely physical.

Detection Engineering

YARA Rule

rule CVE_2026_9266_TPM_Missing_Auth {
    meta:
        description = "Detects TPM2 session setup missing authorization configuration in Moxa firmware"
        author = "Valters IT"
        date = "2026-01-01"
        reference = "CVE-2026-9266"
    strings:
        $tpm_start = "TPM2_StartAuthSession" ascii wide nocase
        $tpm_encrypt = "TPM2_EncryptDecrypt" ascii wide nocase
        $missing_auth = { 00 00 00 00 } // placeholder for missing session handle
    condition:
        $tpm_start and $tpm_encrypt and $missing_auth
}

Sigma Rule

title: CVE-2026-9266 TPM2 Missing Authorization Session
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects TPM2 session setup without proper authorization configuration in Moxa firmware logs
author: Valters IT
date: 2026-01-01
logsource:
    product: linux
    service: tpm2
detection:
    selection:
        EventID: 1
        Command: "TPM2_StartAuthSession"
        Parameters|contains: "encryptedSalt"
    condition: selection
falsepositives:
    - Legitimate TPM2 operations with proper authorization
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2026-9266 TPM2 Missing Authorization Session"; flow:to_server; content:"TPM2_StartAuthSession"; content:"TPM2_EncryptDecrypt"; distance:0; within:100; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Physical Security: Restrict physical access to Moxa devices. Use tamper-evident seals and locked enclosures.
  2. Firmware Update: Apply the vendor patch when released. Monitor Moxa’s security advisory page.
  3. Workaround: If patching is not possible, disable TPM2 parameter encryption and rely on alternative disk encryption methods (e.g., software LUKS with strong passphrase).

Long-Term Fix:

  • Ensure TPM2 authorization sessions are correctly configured with HMAC or password authentication.
  • Validate that parameter encryption is bound to the session handle.
  • Conduct security audits of TPM2 stack implementations.

Detection:

  • Deploy YARA/Sigma rules to scan firmware images for missing authorization.
  • Monitor TPM audit logs for anomalies.

Valters IT

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-9266/ · 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.