Like shipping a nuclear plant's control room with the door lock set to 'anyone welcome'
CVE-2026-77393 affects Inductive Automation Ignition ≤8.1.53, a widely deployed ICS/SCADA platform used by 65% of Fortune 100 companies across critical manufacturing, energy, and water sectors. The Gateway's Create Project Role(s) setting shipped blank — meaning *no role restriction was enforced* on project creation. Any authenticated user who can reach the Gateway and execute gateway scripts can create projects containing arbitrary scripts. Because the Ignition Gateway service runs as SYSTEM (Windows) or root (Linux) by default, malicious project scripts execute at the highest privilege level on the host, giving an attacker full control of the SCADA gateway. The fix in 8.1.54 restricts project creation to Designer sessions only. The 8.3 series was never affected.
The CNA (CISA ICS-CERT) scored this 8.8 HIGH via CVSS 3.1 — and for an ICS/SCADA platform, that score is *defensible*. The blank-by-default configuration is trivially exploitable once authenticated, and the blast radius on an Ignition gateway is not just a single host: it's the supervisory layer controlling physical industrial processes. However, the authentication requirement (PR:L) and the expectation that Ignition gateways sit on segmented OT networks — not the open internet — introduce real friction that prevents this from reaching CRITICAL in most deployments. A simple one-line configuration change (setting Create Project Roles to the Designer Role) fully mitigates without patching, which further reduces urgency. noisgate assesses this at HIGH 7.5, acknowledging the OT safety floor while crediting the authentication gate and easy workaround.
4 steps from start to impact.
Obtain authenticated access to Ignition Gateway
- Valid Ignition user credentials
- Network access to the Ignition Gateway (typically OT VLAN)
- OT networks should be segmented from corporate IT per IEC 62443 / NIST SP 800-82
- Ignition gateways should not be internet-facing per CISA guidance
- Credential theft requires prior compromise or insider access
Create a malicious project via Gateway scripting
- Blank 'Create Project Role(s)' setting (the vulnerable default in ≤8.1.53)
- Ability to reach the Gateway API or Designer endpoint
- If the admin has manually configured Create Project Roles, this path is blocked
- Some deployments restrict Designer access to dedicated engineering workstations
Achieve SYSTEM/root code execution on the Gateway host
- Successful project creation from step 2
- Ignition service running with default elevated privileges
- Some hardened deployments run Ignition under a restricted service account (rare in practice)
- Application whitelisting or EDR on OT hosts may catch suspicious child processes (uncommon in OT)
Manipulate industrial processes or pivot laterally
- SYSTEM/root access on the Gateway host from step 3
- Safety Instrumented Systems (SIS) should independently prevent dangerous physical states
- Process engineers may notice anomalous readings on independent indicators
ProjectCreated events from non-engineering user accounts or outside maintenance windows. Tools like Claroty, Nozomi, or Dragos can provide additional OT-layer visibility.- WAF/IPS in front of the Gateway — the exploit uses legitimate Ignition Designer/API protocols, not malformed HTTP requests. Signature-based network defenses won't distinguish malicious project creation from legitimate engineering activity.
- Standard IT EDR on OT hosts — while EDR *could* detect suspicious child processes from Java, most OT environments either don't deploy EDR or run it in monitor-only mode to avoid disrupting industrial processes. Don't count on this as a primary control.
- Patching only the Gateway without checking the setting — if you upgrade to 8.1.54 but had previously manually set the role to a permissive value, the patch alone may not restrict access as expected. Verify the configuration post-patch.
The supporting signals.
| In-the-Wild Exploitation | No known exploitation. CISA states 'no known public exploitation specifically targeting this vulnerability' as of the advisory date (Sept 3, 2026). |
|---|---|
| Proof of Concept | No public PoC available. The vulnerability is a *configuration default* issue — exploitation requires only standard Ignition Designer/API access, so weaponization is trivial for anyone with authenticated access. Prior Pwn2Own 2020 research by Pedro Ribeiro and Radek Domanski (ZDI) demonstrated Ignition project-based code execution chains. |
| EPSS Score | Not yet scored — CVE was published Sept 3, 2026 (2 days ago). Expect low initial EPSS given the authentication requirement. |
| KEV Status | Not listed in the CISA Known Exploited Vulnerabilities catalog. |
| CVSS Vector | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H (8.8 HIGH) — Network-attackable, low privileges required, no user interaction, full CIA impact. CVSS 4.0: 8.7 HIGH. |
| Affected Versions | Inductive Automation Ignition ≤8.1.53 (all 8.1.x releases through 8.1.53). The 8.3 series is not affected. |
| Fixed Version | Ignition 8.1.54 — restricts project creation to Designer sessions and removes reliance on the blank default setting. |
| Scanning / Exposure | Ignition Gateways are identifiable on Shodan/Censys via default ports 8088/8043 and the /web/status endpoint. CISA strongly advises these should never be internet-facing. Exact exposure counts unavailable, but ICS search engines historically show hundreds of exposed Ignition instances globally. |
| Disclosure Date | 2026-09-03 — CISA ICS-CERT advisory ICSA-26-246-06. |
| Reporting Researchers | Christopher Lusk (North Echo Security Research) — initial reporter. Elhussain Fathy (0xSphinx) — independent confirmation. |
Sources.
Why this verdict
- Authentication gate: The vulnerability requires valid Ignition credentials (PR:L). This is not an unauthenticated RCE — the attacker must already possess or have stolen a valid account, which represents a prior compromise stage.
- OT network segmentation: Ignition gateways should reside on segmented OT networks per IEC 62443 and CISA guidance. Reaching the Gateway requires either OT network access (implying the attacker is already deep inside the environment) or a misconfigured flat network.
- Trivial workaround available: Setting the 'Create Project Role(s)' field to the Designer Role fully mitigates the vulnerability without applying any software patch — a 30-second configuration change.
- Role multiplier (OT/ICS/SCADA — floor: HIGH): Ignition is deployed as SCADA supervisory software in critical manufacturing, energy, and water sectors. Virtually 100% of Ignition installs occupy the OT/ICS high-value role by definition. Compromise of the Gateway running as SYSTEM/root yields control of the supervisory layer, with blast radius extending to connected PLCs, RTUs, and field devices — potentially causing physical safety impacts. This floors the verdict at HIGH regardless of friction.
- No exploitation evidence: No KEV listing, no public PoC, no observed campaigns. The vulnerability is a default-configuration issue that has existed since Ignition 8.1's release (Nov 2020), and no exploitation has been reported over ~6 years of exposure.
Why not higher?
CRITICAL would require either unauthenticated remote exploitation or active in-the-wild exploitation. This vulnerability requires valid credentials (PR:L), limiting the attacker pool to insiders or post-compromise scenarios. The one-line configuration workaround also substantially reduces urgency — defenders can mitigate in seconds without waiting for a patch cycle. No KEV listing, no public PoC, and no observed campaigns further argue against CRITICAL.
Why not lower?
MEDIUM or below would ignore the canonical OT/ICS blast radius. Ignition IS the SCADA supervisory layer — this is not a low-value workstation vulnerability. The blank default has existed for ~6 years across a platform deployed at 65% of Fortune 100 companies, meaning a large population of unpatched gateways exists. The SYSTEM/root execution privilege and the ability to manipulate industrial processes from a single compromised account create an outsized impact that the role-multiplier floor captures.
Crowdsourced verification payload.
Run this script on the Ignition Gateway host (Linux) or adapt for Windows. Requires read access to the Ignition installation directory. Invoke as: bash check_cve_2026_77393.sh /usr/local/bin/ignition (pass your Ignition install path as the first argument). No root required — just file-read access to the Gateway config.
#!/usr/bin/env bash
# CVE-2026-77393 Checker for Inductive Automation Ignition
# Checks: (1) Ignition version <= 8.1.53, (2) blank Create Project Role(s)
# Usage: bash check_cve_2026_77393.sh /path/to/ignition
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN
set -euo pipefail
IGN_HOME="${1:-/usr/local/bin/ignition}"
GATEWAY_XML="${IGN_HOME}/data/gateway.xml"
if [ ! -d "$IGN_HOME" ]; then
echo "UNKNOWN — Ignition install directory not found at $IGN_HOME"
exit 2
fi
# Check version
VERSION_FILE="${IGN_HOME}/.ignition-version"
if [ -f "$VERSION_FILE" ]; then
VERSION=$(cat "$VERSION_FILE" | tr -d '[:space:]')
else
# Try gateway.xml for version info
VERSION=$(grep -oP 'version="\K[^"]+' "$GATEWAY_XML" 2>/dev/null | head -1 || echo "")
fi
if [ -z "$VERSION" ]; then
echo "UNKNOWN — could not determine Ignition version"
exit 2
fi
echo "Detected Ignition version: $VERSION"
# Parse major.minor.patch
IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION"
# Check if version is in the affected range (8.1.x where x <= 53)
if [ "$MAJOR" -eq 8 ] && [ "$MINOR" -eq 1 ]; then
if [ "${PATCH:-0}" -le 53 ]; then
echo "Version $VERSION is in the affected range (<=8.1.53)"
# Check if Create Project Role(s) is blank
if [ -f "$GATEWAY_XML" ]; then
# Look for the createProjectRoles setting
ROLE_SETTING=$(grep -i 'createprojectrole' "$GATEWAY_XML" 2>/dev/null || echo "")
if [ -z "$ROLE_SETTING" ] || echo "$ROLE_SETTING" | grep -qP 'value="\s*"'; then
echo "VULNERABLE — Ignition $VERSION with blank Create Project Role(s) setting"
echo "CVE-2026-77393: Default permissions allow any authenticated user to create projects"
echo "FIX: Set Create Project Role(s) to your Designer Role, or upgrade to 8.1.54+"
exit 1
else
echo "PATCHED — Version is affected but Create Project Role(s) has been configured"
echo "Workaround is in place. Consider upgrading to 8.1.54+ for a permanent fix."
exit 0
fi
else
echo "UNKNOWN — could not read gateway.xml at $GATEWAY_XML"
exit 2
fi
else
echo "PATCHED — Ignition $VERSION is 8.1.54 or later"
exit 0
fi
elif [ "$MAJOR" -eq 8 ] && [ "$MINOR" -ge 3 ]; then
echo "PATCHED — Ignition 8.3+ is not affected by CVE-2026-77393"
exit 0
else
echo "UNKNOWN — unexpected version $VERSION; manual review recommended"
exit 2
fi