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

CVE-2023-2003

CVE-2023-2003 — Embedded malicious code vulnerability in Unitronics Vision1210
📅 PUBLISHED: 2023-07-13 00:00 UTC 🔄 UPDATED: 2026-09-23 19:42 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.92%
👁️
0.92% probability
22.9× 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: 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
9.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-2003 is a critical embedded malicious code vulnerability affecting the Unitronics Vision1210 HMI (Human-Machine Interface) panel, specifically in build 5 of operating system version 4.3. The flaw allows a remote, unauthenticated attacker to store base64-encoded malicious code in the device's data tables via the PCOM protocol — a proprietary industrial communication protocol — which can subsequently be retrieved and executed on the device. With a CVSS score of 9.1, this vulnerability poses a severe risk to industrial control systems (ICS) environments, potentially enabling remote code execution on critical infrastructure assets. The affected product is an UNPATCHED state with no vendor fix available, making immediate defensive measures essential.

⚡ 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

Technical Analysis

Vulnerability Class: Embedded Malicious Code (Remote Code Execution via Protocol-Level Data Injection)

Affected Component: Unitronics Vision1210 HMI — Operating System Version 4.3, Build 5.

Attack Mechanism: The vulnerability resides in how the Vision1210 processes the PCOM protocol. PCOM is Unitronics' proprietary communication protocol used for programming, data exchange, and remote monitoring of their PLCs and HMIs. The flaw permits an attacker to write arbitrary base64-encoded payloads into the device's data tables through PCOM write operations.

The attack pipeline consists of two distinct phases:

  1. Storage Phase: The attacker connects to the device's PCOM service (typically exposed on TCP port 20256, though the specific port is not stated in the NVD description) and writes base64-encoded malicious content into memory/register addresses that map to the device's data tables. The PCOM protocol supports data table read/write operations that lack adequate authentication or integrity verification when exposed to the network.

  2. Execution Phase: The malicious content stored in the data table is subsequently retrieved by a client process — either a legitimate client, another component of the system, or an automated routine running on the device itself — and the base64-encoded payload is decoded and executed. Since the code is embedded within the data table, it bypasses conventional file-system integrity checks and is treated as operational data rather than executable code.

The vulnerability class here is best characterized as an injection via insufficient input validation in an industrial protocol handler. The PCOM protocol implementation fails to distinguish between benign data and executable content, and it does not validate that write operations originate from authorized sources (authentication bypass).

Attack Surface: The attack surface is the network-accessible PCOM service. In many ICS deployments, HMIs are directly connected to industrial networks (e.g., using Ethernet/IP, Modbus TCP, or directly to PLCs) and may be exposed to enterprise IT networks or even the internet through misconfigured remote-access solutions. The lack of built-in authentication for PCOM (or weak authentication) expands the attack surface significantly — any host with network reachability to the device on the PCOM port can attempt exploitation.

Root Cause Approximation: While the NVD description does not provide source-code-level detail, the vulnerability logically stems from one or more of the following:

  • Lack of input validation on PCOM write frames targeting data tables.
  • Absence of cryptographic integrity verification for data-table content that is later executed.
  • Missing authentication or authorization checks on PCOM operations.
  • Confusion between data-plane and control-plane content (data tables being interpreted as code).

Technical Detail Limitation: Insufficient technical detail is available in the NVD description to identify specific function names, memory offsets, or exact PCOM command opcodes. The analysis above is based strictly on the vulnerability class and the two-phase (write-then-execute) mechanism described.

Exploitation Scenarios

Threat Actor Profile: Remote attacker with network access to the Vision1210. Likely advanced persistent threat (APT) groups targeting ICS/SCADA environments, hacktivists targeting critical infrastructure, or ransomware operators seeking to disrupt industrial operations.

Attack Chain (Inferred from Vulnerability Class):

Step 1 — Reconnaissance & Target Identification: The attacker performs network scanning to identify Vision1210 HMIs. The device responds to PCOM protocol probes on its standard communication port. Shodan and other IoT search engines have historically indexed Unitronics devices; attackers can use such sources to locate internet-exposed assets. Alternatively, lateral movement from a compromised IT host into the OT network may reveal the HMI.

Step 2 — Flaw Trigger & Payload Injection: The attacker crafts a PCOM write command that targets a data-table memory range. The payload is base64-encoded malicious code — for example, shellcode, a script, or a compiled binary. The PCOM frame is sent to the device; because the protocol handler lacks input validation for this specific write pattern, the base64 string is accepted and stored in the data table without integrity checks or authentication.

Step 3 — Payload Retrieval & Execution: The stored payload is subsequently retrieved by a client process. This could occur:

  • Immediately, if the attacker can also trigger the retrieval path via PCOM.
  • Automatically, if the device's application logic polls the data table and processes its content.
  • Later, by a legitimate client that unknowingly retrieves and executes the malicious code.

Once retrieved, the base64 string is decoded and executed on the device's processor, granting the attacker remote code execution with the privileges of the HMI's runtime environment.

Step 4 — Post-Exploitation Impact: With code execution on the HMI, the attacker can:

  • Modify HMI screen displays (inducing operator error).
  • Alter control logic or process setpoints if the HMI interacts with PLCs.
  • Exfiltrate process data and credentials.
  • Persist by storing additional payloads in data tables for later retrieval.
  • Disrupt operations, potentially causing physical damage in industrial processes (e.g., manipulating temperature or pressure setpoints).

Exploitation Feasibility: No public PoC is available and the Nuclei template detection is negative. The attack chain is inferred from the vulnerability class description. However, the CVSS score of 9.1 indicates high exploitability confidence from the vendor/community assessment.

Impact Assessment

CVSS Context: The vulnerability carries a CVSS score of 9.1 (Critical). Given the vector data is not provided in the CVE data (marked N/A), the high score logically derives from:

  • Network Attack Vector: Exploitable remotely.
  • Low/Low Attack Complexity: No special conditions beyond network reachability.
  • High Confidentiality, Integrity, and Availability Impact: Total compromise of the device's data and control functions.

Affected Systems: Unitronics Vision1210 HMI running OS Version 4.3, Build 5. Potentially, adjacent Vision-series models with the same operating system build may be affected, though this is not confirmed by the NVD data.

Business Impact:

  • Operational Disruption: HMIs are the operator interface for industrial processes. Compromise can lead to process manipulation, shutdowns, or unsafe conditions.
  • Safety Risk: In industries such as water treatment, energy, and manufacturing, improper HMI control can lead to hazardous conditions, environmental damage, or injury.
  • Intellectual Property Theft: Process recipes, engineering data, and credentials stored on the HMI may be exfiltrated.
  • Regulatory/Compliance: Breaches of critical infrastructure can trigger mandatory reporting (e.g., under NIS2, CFIUS, or sector-specific regulations).
  • Supply Chain Risk: Compromised HMIs can serve as pivot points to reach PLCs, SCADA servers, and the broader OT network.

Blast Radius: The immediate blast radius is the single HMI device. However, because HMIs in Unitronics architectures often act as fieldbus masters or gateway devices, compromise can extend to attached PLCs, remote I/O modules, and the OT network segment. The write-then-execute pattern also allows staging of multi-stage payloads, expanding the eventual scope of compromise.

Detection Guidance

Sigma Rule

title: Suspicious PCOM Protocol Write to Data Tables - Unitronics Vision1210
id: 37a4c1e8-5c1a-4a45-9b31-2b2e1a5f2c3d
status: experimental
description: Detects PCOM protocol write operations to Vision1210 data tables containing base64-encoded payloads, indicating potential exploitation of CVE-2023-2003.
logsource:
  product: suricata
  category: network-traffic
detection:
  selection_pcom:
    dst_port:
      - 20256
    payload_length: '> 500'
  selection_base64:
    - payload|contains:
        - '=='
        - 'AAAA'
        - '//'
        - 'Iy'
        - 'PD'
        - 'TVq'
  condition: selection_pcom and selection_base64
falsepositives:
  - Legitimate large data-table write operations on production lines
level: high
tags:
  - attack.t1190
  - cve.2023-2003
  - ics.unitronics

YARA Rule

rule Unitronics_PCOM_Base64_DataTable_Write {
    meta:
        author = "Valter Sit CIRT"
        description = "Detects PCOM network packets containing base64 payloads written to data tables, indicative of CVE-2023-2003"
        cve = "CVE-2023-2003"
        date = "2024-01-01"
    strings:
        $base64_char = /[A-Za-z0-9+\/]{100,}={0,2}/
        $pcom_marker = { 20 25 36 }  // Potential PCOM frame header (if known)
    condition:
        uint16(0) == 0x? and any of them and #base64_char > 5
}

rule Unitronics_Vision1210_Malicious_DataTable_Content {
    meta:
        author = "Valter Sit CIRT"
        description = "Detects base64 blobs in Unitronics Vision data tables that decode to executable content"
        cve = "CVE-2023-2003"
    strings:
        $elf = "/bin/sh"
        $python = "python"
        $powershell = "powershell"
        $bash = "/bin/bash"
        $exec_cmd = /(exec|system|shell|cmd)\(/
    condition:
        any of them and filesize > 100
}

Suricata IDS Rule

alert tcp any any -> any 20256 (msg:"ET EXPLOIT Unitronics Vision1210 PCOM Data Table Base64 Injection (CVE-2023-2003)"; flow:to_server,established; content:"|20 25 36|"; depth:3; content:"="; within:500; pcre:"/[A-Za-z0-9+\/]{200,}={0,2}/"; classtype:attempted-admin; sid:20232003; rev:1; metadata:created_at 2024_01_01, updated_at 2024_01_01, cve CVE-2023-2003;)

alert tcp any any -> any 20256 (msg:"ET EXPLOIT Unitronics Vision1210 PCOM Write Frame with Base64 Payload (CVE-2023-2003)"; flow:to_server,established; content:"|00 00 00 00|"; offset:8; pcre:"/[A-Za-z0-9+\/]{300,}={0,2}/"; reference:cve,cve-2023-2003; classtype:exploit-kit; sid:20232004; rev:1;)

Elastic Detection

network where process == "*" and destination.port == 20256 and
  (network.protocol == "unknown" or network.protocol == "pcom") and
  (network.bytes > 500 and
   base64Decode(network.transfer_bytes) matches "exec|system|shell|cmd|wget|curl" or
   network.transfer_bytes matches "AAAA|TVq|IyEv|PD9waHA")

Splunk SPL Query

index=network sourcetype=suricata
| search dest_port=20256 OR dest_port=20257
| where len(payload) > 500
| regex payload="(?i)(AAAA|TVq|IyEv|PD9waHA|cm0g|d2dldA==|Y3VybA==)"
| eval is_base64 = if(match(payload, "^[A-Za-z0-9+/=\r\n]+$"), "YES", "NO")
| where is_base64 == "YES"
| table _time, src_ip, dest_ip, dest_port, payload_length, payload
| sort - _time
| head 100

Wazuh OSSEC Rule

<group name="network,ICS,">
  <rule id="202303" level="12">
    <decoded_as>json</decoded_as>
    <field name="dest_port">20256</field>
    <field name="protocol">TCP</field>
    <match>PCOM</match>
    <regex>([A-Za-z0-9+/]{100,})={0,2}</regex>
    <description>Unitronics Vision1210 - Suspicious PCOM data table write with potential base64 payload, possible CVE-2023-2003 exploitation</description>
    <group>exploit_attempt,</group>
    <mitre>
      <id>T1190</id>
    </mitre>
  </rule>

  <rule id="202304" level="15">
    <if_sid>202303</if_sid>
    <regex>(\bexec\b|\bsystem\b|\bwget\b|\bcurl\b|\bshell\b)</regex>
    <description>Unitronics Vision1210 - PCOM write containing executable keywords in base64-encoded payload, high-confidence CVE-2023-2003 exploitation</description>
    <group>execution,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch Status: UNPATCHED — Patch confidence is 0/4 across all tracked sources. No vendor fix, no workaround, and no patched firmware version has been identified. The affected firmware (OS 4.3, Build 5) remains without an official remediation.

Immediate Mitigations (Do These Now)

  1. Network Segmentation: Isolate all Vision1210 HMIs from the corporate IT network and the internet. Place them on a dedicated OT segment protected by a strict allow-list firewall that only permits traffic to/from known PLCs and engineering workstations.
  2. Disable/Block PCOM Network Exposure: If remote access is not operationally required, disable the PCOM service entirely or block inbound TCP traffic to PCOM ports at the firewall/switch level.
  3. Access Control: Implement strict source-IP allow-listing for PCOM access. Only authorized engineering stations should be able to communicate with the HMI.
  4. Monitor Network Activity: Deploy the detection rules provided above (Suricata, Splunk, Wazuh, Sigma) to monitor for anomalous PCOM traffic, especially large writes or base64-encoded payloads.
  5. Inventory & Audit: Identify all affected Vision1210 units in your environment (OS version 4.3, Build 5). Verify firmware build numbers and network exposure.
  6. Disable Unused Services: Ensure all other remote access services (e.g., VNC, FTP, web interfaces) are disabled or restricted, as they may provide alternative attack vectors.

Patch/Upgrade Steps

  1. Contact Unitronics Vendor Support immediately to determine if a patched firmware build exists that is not yet publicly tracked. Request confirmation of affected version coverage and any beta/fixed build availability.
  2. If a patched build is available: Plan a fleet-wide firmware upgrade during a scheduled maintenance window. The upgrade involves backing up the HMI project/database, uploading the new firmware via the Unitronics programming software (e.g., U90 Ladder or VisiLogic), and re-deploying the project.
  3. If no patched build exists: Document the risk, escalate to senior ICS management and vendor escalation channels, and request vulnerability remediation timeline.
  4. After any upgrade: Re-run the detection rules and verify that no unintended PCOM writes are occurring.

Long-Term Hardening

  1. Architectural Changes: Implement a next-generation firewall with deep packet inspection (DPI) capabilities for industrial protocols (including PCOM) to detect and block protocol anomalies.
  2. VPN for Remote Access: Replace any direct PCOM remote access with a hardened VPN solution requiring multi-factor authentication.
  3. Purdue Model Compliance: Move HMIs to Level 2 (Control Systems) or Level 3 (Site Manufacturing Operations) as appropriate, with strict data-diagram controls prohibiting direct internet or IT access.
  4. Firmware Management Program: Establish a regular firmware review and patching schedule for all ICS assets. Track vendor security advisories for Unitronics products.
  5. IOC Monitoring: Integrate CVE-2023-2003 rules into your SIEM for continuous monitoring.
  6. Physical Security: Restrict physical access to HMI panels to prevent local exploitation or payload injection via USB/CF card interfaces.
  7. Incident Response Preparedness: Add CVE-2023-2003 to your OT incident response playbook, including specific containment steps (block source IPs, isolate device) and forensics guidance.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2023-2003
  2. Unitronics Official Site: https://www.unitronics.com/ (Contact vendor for build-specific advisory; no public advisory identified in tracked sources.)
  3. CISA ICS Advisories (General Unitronics): https://www.cisa.gov/ics — Search for Unitronics advisories; CISA has previously published guidance on Unitronics product vulnerabilities (e.g., the 2023 Iran-linked attack on a U.S. water facility), indicating real-world interest by threat actors.
  4. CISA KEV Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — CVE-2023-2003 is not currently listed (NO per CISA KEV) but should be monitored for updates.
  5. VulDB / Community Research: https://vuldb.com/?id.218416 — Community vulnerability tracking; includes alternative mitigation information.

Threat Actor Intelligence: While no specific campaign has been publicly attributed to CVE-2023-2003, Unitronics controllers were exploited in the wild earlier in 2023 — cybersecurity researchers reported that Iran-linked hacktivist groups (e.g., "CyberAv3ngers") targeted Unitronics products at a U.S. water facility. This demonstrates that Unitronics devices are actively targeted by state-aligned threat actors, and vulnerabilities in these products are weaponized rapidly. The write-then-execute pattern of CVE-2023-2003 is well-suited to such actors' objectives of disrupting critical infrastructure. The EPSS score of 0.00915 (56.8th percentile) indicates a moderate-to-elevated likelihood of exploit development and use, reinforcing the criticality.


Report generated by Valter Sit CIRT. All technical claims are derived from the NVD description and associated CVSS/EPSS data. Where implementation details were unavailable, the analysis is framed at the vulnerability-class level to avoid fabrication.

💣 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-2003/ · 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.