← Back to Feed CACHED · 2026-09-04 17:39:31 · CACHE_KEY CVE-2026-77393
CVE-2026-77393 · CWE-276 · Disclosed 2026-09-03

Inductive Automation Ignition Gateway Blank Default Create Project Role Privilege Escalation

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

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.

"Blank default role in ICS/SCADA platform lets any authenticated user plant malicious projects"
02 · The Attack Path

4 steps from start to impact.

STEP 01

Obtain authenticated access to Ignition Gateway

The attacker needs valid credentials for the Ignition Gateway. This could be a compromised operator account, a disgruntled insider, or credentials harvested from a prior IT-to-OT lateral movement. Ignition supports local accounts, LDAP, and IdP-backed auth. The Gateway web interface listens on TCP 8088 (HTTP) and 8043 (HTTPS) by default.
Conditions required:
  • Valid Ignition user credentials
  • Network access to the Ignition Gateway (typically OT VLAN)
Where this breaks in practice:
  • 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
Detection/coverage: Network monitoring for anomalous connections to Ignition Gateway ports 8088/8043 from non-operator subnets. Ignition audit logs capture authentication events.
STEP 02

Create a malicious project via Gateway scripting

With the Create Project Role(s) setting blank (the vulnerable default), any authenticated user can invoke project creation APIs. The attacker crafts a project containing malicious gateway event scripts — Python/Jython code that executes OS commands. No special tooling is required; the Ignition Designer client or direct API calls suffice. Prior Pwn2Own research (ZDI, 2020) demonstrated that project script execution runs in the Gateway's JVM context.
Conditions required:
  • Blank 'Create Project Role(s)' setting (the vulnerable default in ≤8.1.53)
  • Ability to reach the Gateway API or Designer endpoint
Where this breaks in practice:
  • If the admin has manually configured Create Project Roles, this path is blocked
  • Some deployments restrict Designer access to dedicated engineering workstations
Detection/coverage: Ignition Gateway audit log records project creation events. Alert on project creation by non-engineering user accounts.
STEP 03

Achieve SYSTEM/root code execution on the Gateway host

The malicious project scripts execute within the Ignition Gateway service process, which runs as SYSTEM on Windows or root on Linux by default. The attacker gains full OS-level control of the SCADA gateway host. From here, the attacker can manipulate OPC-UA tags, alter HMI displays, modify PLC setpoints, or pivot to other OT network devices. This is the supervisory control layer — the blast radius extends to every connected PLC, RTU, and field device.
Conditions required:
  • Successful project creation from step 2
  • Ignition service running with default elevated privileges
Where this breaks in practice:
  • 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)
Detection/coverage: EDR/Sysmon monitoring for child processes spawned by the Ignition Java process. OT-specific IDS (Claroty, Nozomi, Dragos) may detect anomalous OPC-UA tag writes or PLC command changes downstream.
STEP 04

Manipulate industrial processes or pivot laterally

With SYSTEM on the Gateway, the attacker controls the SCADA supervisory layer. They can alter process setpoints sent to PLCs, suppress alarms on HMI dashboards, exfiltrate process data, or use the Gateway's trusted network position to pivot to engineering workstations, historians, and other OT assets. In safety-critical environments (energy, water, chemical), this can have physical consequences.
Conditions required:
  • SYSTEM/root access on the Gateway host from step 3
Where this breaks in practice:
  • Safety Instrumented Systems (SIS) should independently prevent dangerous physical states
  • Process engineers may notice anomalous readings on independent indicators
Detection/coverage: OT network monitoring (Claroty, Nozomi, Dragos) for anomalous PLC communications. Process alarm correlation across independent safety systems.
03 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationNo known exploitation. CISA states 'no known public exploitation specifically targeting this vulnerability' as of the advisory date (Sept 3, 2026).
Proof of ConceptNo 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 ScoreNot yet scored — CVE was published Sept 3, 2026 (2 days ago). Expect low initial EPSS given the authentication requirement.
KEV StatusNot listed in the CISA Known Exploited Vulnerabilities catalog.
CVSS VectorCVSS: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 VersionsInductive Automation Ignition ≤8.1.53 (all 8.1.x releases through 8.1.53). The 8.3 series is not affected.
Fixed VersionIgnition 8.1.54 — restricts project creation to Designer sessions and removes reliance on the blank default setting.
Scanning / ExposureIgnition 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 Date2026-09-03 — CISA ICS-CERT advisory ICSA-26-246-06.
Reporting ResearchersChristopher Lusk (North Echo Security Research) — initial reporter. Elhussain Fathy (0xSphinx) — independent confirmation.
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to HIGH (7.5/10)

The single most decisive factor is the OT/ICS role multiplier — Ignition is canonically a SCADA supervisory platform where compromise of the Gateway host yields control of industrial processes, establishing a HIGH floor. The authentication requirement (PR:L) and expected OT network segmentation prevent escalation to CRITICAL, as the attacker must already hold valid credentials and OT network access.

HIGH Vulnerability mechanics and affected versions
HIGH Fix availability and workaround effectiveness
MEDIUM Real-world exposure of Ignition gateways to untrusted users
LOW EPSS and exploitation probability (CVE too new)

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.

05 · Compensating Control

What to do — in priority order.

  1. Set 'Create Project Role(s)' to your Designer Role immediately — This is the single most effective mitigation — a one-line Gateway configuration change that fully blocks the attack path without patching. Navigate to Gateway → Config → Security → General and populate the blank field with your Designer role. Deploy within the noisgate HIGH mitigation SLA of 30 days, though given the simplicity, same-day is achievable.
  2. Restrict Designer and Gateway API access to engineering workstations only — Use host-based firewall rules or network ACLs to limit connections to ports 8088/8043 to known engineering workstation IPs. This limits the population of users who could exploit the blank default, even if it remains unpatched.
  3. Audit Ignition user accounts and remove unnecessary access — Review all Ignition Gateway user accounts. Remove or disable accounts that do not require project creation or Designer access. Apply principle of least privilege — operators viewing HMIs should not have Gateway scripting capabilities.
  4. Deploy OT network monitoring for anomalous project creation — Configure Ignition audit log forwarding to your SIEM. Alert on ProjectCreated events from non-engineering user accounts or outside maintenance windows. Tools like Claroty, Nozomi, or Dragos can provide additional OT-layer visibility.
  5. Run Ignition service under a restricted account instead of SYSTEM/root — Reduces blast radius if the vulnerability is exploited — the attacker inherits a limited service account rather than full OS privileges. This is a defense-in-depth measure that requires testing with your specific Ignition modules.
What doesn't work
  • 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.
06 · Verification

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.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/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
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: Your OT/ICS team should immediately audit every Ignition 8.1 Gateway for the blank Create Project Role(s) setting — this is a 30-second configuration fix that fully mitigates CVE-2026-77393 without a patch. Navigate to Gateway → Config → Security → General and set the field to your Designer Role. Per the noisgate mitigation SLA for HIGH severity, compensating controls must be in place within 30 days, but given the trivial effort, push for same-week deployment across all Ignition instances. For the noisgate remediation SLA, schedule the upgrade to Ignition 8.1.54 (or migration to 8.3) within 180 days. There is no active exploitation and no public PoC, so this is not a drop-everything emergency — but it IS a SCADA platform running as SYSTEM/root, and a blank default permission has been sitting in your OT environment since 2020. Fix the config now, schedule the patch for your next OT maintenance window.

Sources

  1. CISA ICS Advisory ICSA-26-246-06
  2. Inductive Automation Trust Center
  3. ZDI — Pwn2Own Miami Ignition Exploitation (2020)
  4. CVE Details — Ignition Vulnerability History
  5. CISA Internet Exposure Reduction Guidance
  6. Security Boulevard — OT Security News Sept 4, 2026
  7. Inductive Automation — Ignition SCADA Platform
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.