☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Okta logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 6 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:H/A:L 🐛 CWE-693
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-78552

CVE-2026-78552 Vulnerability in Okta
📅 PUBLISHED: 2026-09-08 00:00 UTC 🔄 UPDATED: 2026-09-26 06:04 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.33%
👁️
0.33% probability
8.2× 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.
Country: United States License: Commercial
VULNERABLE: Access Gateway
CVSS VECTOR BREAKDOWN 6.0
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: H Privileges Required High
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: H Integrity High
A: L Availability Low
6.0
THREAT LEVEL
INTEL SOURCES NVD EPSS HOW WE SCORE →
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-78552 is an unpatched security misconfiguration vulnerability affecting the Okta Access Gateway (OAG). The root cause is a failure to apply the Lua directive restriction to an application-level custom configuration field, which is interpolated directly into an nginx server block without inspection or sanitization. A privileged attacker — one who can already modify application-level custom configuration settings — can inject arbitrary nginx directives that execute within the gateway's runtime context. Because the field is injected into a live server block, the payload can alter traffic routing, intercept credentials, disable security controls, or modify access policies. The vulnerability has a CVSS score of 6.0, reflecting the high privileges required to exploit it but also the high integrity impact once exploited. No patch, workaround, or vendor fix is currently available from any tracked source.

⚡ 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

The Okta Access Gateway is a reverse-proxy authentication tier deployed in front of enterprise web applications. It uses a hardened nginx-based architecture where a Lua scripting engine enforces policy restrictions on user-supplied or semi-trusted inputs. A security control exists that restricts Lua directives — presumably preventing arbitrary code execution or the injection of runtime directives into the nginx configuration.

The flaw lies in the application-level custom configuration field, a separate configuration surface from the system-level nginx settings. This field is intended to accept operator-supplied custom configuration values (e.g., for headers, logging, or location blocks). The NVD description indicates that the Lua directive restriction is not applied to this field, meaning the validation/whitelist logic that blocks dangerous Lua directives in other configuration areas is skipped for this particular field.

Once accepted, the field's contents are interpolated directly into the nginx server block without inspection. This creates a code/config injection primitive: an attacker can supply strings that are parsed as part of the active nginx configuration rather than as inert data. Because no escaping, validation, or allow-listing occurs, the injected text is executed with the privileges of the nginx worker processes.

The attack surface is limited to authenticated administrators or operators with privileges to edit application-level configuration. However, the impact is broad: because the configuration is interpolated at runtime, an attacker can inject:

  • access_by_lua_block or similar Lua directives to execute arbitrary Lua payloads.
  • proxy_pass or rewrite directives to redirect traffic to attacker-controlled endpoints.
  • auth_request directives to disable or alter authentication checks.
  • ssl_certificate or error-page directives to influence TLS handling or serve malicious content.

The CWE-693 designation (Protection Mechanism Failure) is appropriate: the product fails to apply its own protective mechanism consistently, leaving this config path unprotected.


Exploitation Scenarios

Prerequisites: The attacker must have administrative or privileged access to the OAG management interface, specifically the ability to edit application-level custom configuration fields. This could result from a compromised admin account, an insider threat, or a separate initial-access vector.

Step 1 — Target Identification: The attacker identifies an OAG instance serving as a reverse proxy for protected enterprise applications. Network discovery or Shodan dorks (http.title:"Okta" or product:"Okta Access Gateway") can reveal these systems. The attacker further identifies the targeted application-server block within the OAG configuration.

Step 2 — Triggering the Flaw: The attacker navigates to the application-level custom configuration editor (an exposed API or UI parameter — the exact parameter name is not disclosed in the NVD description). Instead of submitting an ordinary configuration value, the attacker injects raw nginx directive syntax inside the field. For example, a field expecting a log format string is instead populated with a directive that rewrites location handling or invokes access_by_lua_block { ... }. The crafted string is stored as-is.

Step 3 — Payload Execution: On the next configuration reload — triggered manually or automatically — the injected string is interpolated directly into the generated nginx server block and parsed at runtime. No syntactic validation or directive allow-listing is applied, so the nginx parser executes the injected directive. At a class level, this is a server-side configuration injection flaw: user-controlled input becomes executable configuration, equivalent in impact to arbitrary code execution within the gateway's process context.

Step 4 — Post-Exploitation Impact: With an injected access_by_lua_block, the attacker executes arbitrary Lua — potentially spawning a reverse shell, reading the gateway's secrets, or tampering with in-memory session store. With proxy_pass injection, the attacker intercepts credentials as users authenticate through the gateway, performing a silent man-in-the-middle. With auth_request injection, the attacker disables downstream authentication, bypassing access control for all routes on that server block. Because the configuration is persistent (until removed), the malicious directives survive gateway restarts and continue executing indefinitely.

It is important to note that no public PoC or exploit code is available; this attack chain is inferred from the vulnerability class and the wording of the NVD description. Actual exploitation mechanics may differ in implementation details.


Impact Assessment

Business Impact: The most direct impact is a breach of the authentication/authorization boundary that OAG enforces. An attacker who successfully injects directives can redirect all traffic through an attacker-controlled intermediate, harvest every credential presented to the gateway (including second-factor tokens), disable MFA enforcement, or silently alter access policy — granting themselves broader privileges across multiple backend applications. The gateway's role as a security control means this vulnerability undermines the security of every application behind it.

CVSS Subscore Reference: The score of 6.0 is derived from: AV:N (network-accessible), AC:L (no special conditions), PR:H (requires high privileges to access the config field), UI:N (no user interaction), S:U (scope unchanged). The Integrity impact is High (I:H) — reflecting that arbitrary config/execution is permitted — while Confidentiality (C:L) and Availability (A:L) are limited. The absence of an availability-heavy impact is notable: a typical DoS payload is not the primary risk; the confidentiality and integrity of the authentication layer are.

Affected Systems and Blast Radius: The NVD data does not specify affected version ranges. The flaw exists wherever the OAG accepts the application-level custom configuration field without the Lua restriction, presumably across a wide swath of OAG releases predating any (currently nonexistent) fix. Because the gateway brokers authentication for potentially many backend apps, one compromised gateway exposes the entire upstream application estate.

Exploitability Assessment: The EPSS has not yet scored this CVE, and no CISA KEV listing is present. The lack of public exploit code or known in-the-wild exploitation is assessed as a function of required privileges (high) acting as a deterrent, not as an indication that the flaw is benign.


Detection Guidance

Sigma Rule

title: Okta Access Gateway — Suspicious Custom Config Modification
id: 3b0d6e12-8f7c-4e2f-9a5d-6cbb1a4e0f3d
status: experimental
description: Detects attempts to modify the Okta Access Gateway application-level custom configuration field, which may indicate exploitation of CVE-2026-78552.
logsource:
  product: okta
  service: gateway
detection:
  selection:
    event_type: 'config.update'
    object_type: 'custom_config'
    target_field:
      - 'nginx_config'
      - 'server_block'
      - 'custom_field'
  filter:
    actor_type: 'system'
  condition: selection and not filter
level: critical
falsepositives:
  - Legitimate administrators updating custom config parameters
fields:
  - actor
  - source_ip
  - target_app

YARA Rule

rule Okta_Access_Gateway_Config_Injection
{
    meta:
        author = "valtersit.com"
        description = "Detects strings resembling nginx/Lua directive injection in custom config fields"
        cve = "CVE-2026-78552"
        date = "2026-02-01"
    strings:
        $lua_directive = /(access_by_lua|content_by_lua|rewrite_by_lua|set_by_lua)\s+_?(block)?\s*\{/ nocase
        $directive_injection = /(proxy_pass|auth_request|ssl_certificate|error_page)\s+[a-z_$]+;?\s*$/ nocase
        $interpolation_braces = /server\s*\{\s*[^}]*\{\s*/ nocase
        $config_field = /custom_?config\s*=\s*["']/ nocase
    condition:
        uint16(0) == 0x0A0D or uint16(0) == 0x0D0A
        and any of ($lua_directive*) and 1 of ($directive_injection*)
        or ($config_field and $interpolation_braces)
}

Suricata IDS Rule

alert http any any -> any any (msg:"Okta Access Gateway Config Injection Attempt (CVE-2026-78552)"; flow:established,to_server; http.method; content:"PUT"; http.request_body; pcre:"/(access_by_lua|content_by_lua|rewrite_by_lua|proxy_pass|auth_request)\s*(block)?\s*\{/i"; classtype:attempted-admin; reference:cve,2026-78552; sid:202678552; rev:1;)

Elastic Detection

configuration where process.executable == "nginx" and event.action == "config-changed"
// Look for a configuration write that contains directive syntax rather than plain data
| find `custom_config` field values containing lua or nginx directive keywords
| where /* Detect modification of app-level config outside of admin UI whitelisted paths */
  event.dataset == "okta.gateway" and
  event.outcome == "success" and
  source.ip != "127.0.0.1"

Splunk SPL Query

index=okta_gateway_logs sourcetype=okta:config
| where match(custom_config, "(?i)(access_by_lua|content_by_lua|proxy_pass|auth_request)")
| table _time, src_ip, user, app_name, custom_config, result
| eval threat_score=if(match(custom_config, "(?i)(access_by_lua|content_by_lua|proxy_pass)"), 10, 5)
| sort -threat_score

Wazuh OSSEC Rule

<group name="okta_gateway,">
  <rule id="100652" level="14">
    <decoded_as>json</decoded_as>
    <field name="event_type">config.update</field>
    <field name="object_type">custom_config</field>
    <regex>access_by_lua|content_by_lua|proxy_pass|auth_request|rewrite_by_lua</regex>
    <description>Okta Access Gateway: Possible config injection into custom field (CVE-2026-78552)</description>
    <group>config_injection,</group>
    <mitre>
      <id>T1190</id>
    </mitre>
  </rule>
</group>

Mitigation & Patch Guidance

Patch Confidence: 0/4 — UNPATCHED. No vendor fix, advisory, or patched version exists in any tracked source as of the analysis date. Do not wait for an instant patch before acting; assume the vulnerability is present wherever the affected config field is usable.

1. Immediate Mitigations:

  • Restrict administrative access: Limit access to the OAG management interface via network ACLs, jump-host requirements, and MFA enforcement. Since a privileged account is the pre-requisite, protect that account strenuously.
  • Audit and monitor the config field: Review existing application-level custom configuration fields on all OAG instances. Manually confirm that no field contains nginx directive syntax. Write a scheduled job to hash these fields and alert on any drift or suspicious change.
  • Disable or lock the custom config field: If the vulnerable field is not actively used by your applications, remove its value and disable its editing capability where the OAG permits it.
  • Enable configuration file integrity monitoring: Deploy file integrity monitoring (e.g., auditd, osquery, Wazuh FIM) on the gateway's generated nginx config and reload artifacts to detect unauthorized changes at the OS level.

2. Patch/Upgrade Steps:

  • Subscribe to Okta's security advisory feed and the CVE record (NVD/NIST) for updates. Because no patch exists, regular checks are essential.
  • When a fixed version is released, upgrade OAG to that version and immediately audit that the field is now subject to the same Lua directive restriction as other configuration surfaces.
  • Before and after any upgrade, take a full backup of the OAG configuration and capture a known-good configuration baseline to diff against.

3. Long-Term Hardening:

  • Principle of least privilege: Review role-based access control for OAG administration. Confirm that no user beyond the minimum required has write access to application-level custom configuration.
  • Segregate admin plane: Move the OAG management interface onto a dedicated management VLAN, outside of any user-facing network segments, with strict egress filtering.
  • Adopt infrastructure-as-code: Define the OAG configuration in a versioned repository with mandatory code review prior to applying changes. This creates an audit trail and prevents lone-administrator unilateral configuration changes.
  • Monitor credential phishing: Because the injected config could intercept credentials, monitor for unusual authentication anomalies across all applications behind the OAG — failed MFA challenges, duplicate logins, or login attempts from unexpected locations.

References

  1. NVD Entry for CVE-2026-78552 — https://nvd.nist.gov/vuln/detail/CVE-2026-78552 (authoritative description, CVSS vector, CWE-693)
  2. Okta Security Advisories — https://trust.okta.com/security-advisories (monitor for future vendor patch announcements; none published as of this report)
  3. MITRE ATT&CK Technique T1190 — Exploit Public-Facing Application — https://attack.mitre.org/techniques/T1190/ (maps to the gateway-facing attack style and pre-requisite privilege chain)
  4. CWE-693 — Protection Mechanism Failure — https://cwe.mitre.org/data/definitions/693.html (root-cause class of the flaw: protective mechanism not applied consistently)
  5. CISA Known Exploited Vulnerabilities Catalog — https://www.cisa.gov/known-exploited-vulnerabilities-catalog (checked: CVE-2026-78552 is NOT listed; no known active exploitation to date)

Campaign & Threat Actor Note: As of this writing, no publicly known threat-actor campaigns or exploit-in-the-wild evidence are associated with CVE-2026-78552. This assessment is subject to change as adversary interest grows in the wake of the advisory; the report should be treated as a living document and revised upon any new intelligence disclosures.

👁️ SHODAN DORKS (THREAT HUNTING)

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.

http.title:"Okta"
product:"Okta Access Gateway"
http.html:"okta-sign-in"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-78552/ · 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.