← Back to Feed CACHED · 2026-08-29 13:04:29 · CACHE_KEY CVE-2026-18885
CVE-2026-18885 · CWE-94 · Disclosed 2026-08-27

ServiceNow has remediated a code injection vulnerability that was identified in the ServiceNow AI platform.

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

Someone left the master key to your IT operations center on a public-facing API endpoint

CVE-2026-18885 is a code injection vulnerability in the GraphQL Composite Data API of the ServiceNow AI Platform. An unauthenticated attacker can send a crafted request to the GraphQL endpoint and achieve arbitrary code execution on the ServiceNow instance, with full read/write access to instance data. Affected releases include Xanadu (before Patch 11 Hot Fix 7a), Yokohama (before Patch 12 Hot Fix 3b / Patch 13 Hot Fix 4), Zurich (before Patches 7b–12), and Australia (before Patches 2–5). The vulnerability was discovered by Adam Kues of Assetnote (now Searchlight Cyber) and disclosed on August 27, 2026.

ServiceNow assigned this a CVSS 4.0 score of 10.0 — the maximum possible. That score is *warranted*. This is unauthenticated, network-reachable, low-complexity, zero-interaction RCE on a platform that by design sits on the internet and holds your CMDB, ITSM tickets, HR records, security operations data, and workflow automation. The only reason this isn't a universal emergency is that cloud-hosted instances were silently patched by ServiceNow — self-hosted and partner-hosted instances remain fully exposed until administrators apply the hotfix manually. Given Assetnote's track record of publishing detailed technical writeups (they did exactly this for the earlier CVE-2026-6875 chain), expect weaponization timelines measured in days to weeks, not months.

"Unauth RCE on internet-facing ServiceNow via GraphQL API — self-hosted instances are wide open"
02 · The Attack Path

4 steps from start to impact.

STEP 01

Identify exposed ServiceNow instance

The attacker locates a ServiceNow instance via DNS enumeration, Shodan, or simply checking *.service-now.com subdomains. ServiceNow instances are internet-facing by design — they serve employee self-service portals, IT ticketing, and API integrations. Self-hosted instances often run on custom domains but are equally discoverable.
Conditions required:
  • Target organization runs ServiceNow on a reachable URL
Where this breaks in practice:
  • Cloud-hosted instances are already patched by ServiceNow as of August 27, 2026
  • Self-hosted instances behind VPN or IP-restricted access reduce exposure
Detection/coverage: Shodan dork http.title:"ServiceNow" or http.favicon.hash identifies instances. Asset inventory should already track your ServiceNow deployment.
STEP 02

Send crafted GraphQL request

The attacker sends a malicious payload to the GraphQL Composite Data API endpoint. No authentication is required — the API processes the request as an unauthenticated user. The low attack complexity (AC:L) and no-prerequisites (AT:N) in the CVSS vector mean no special conditions or race windows are needed. The injected code executes within the ServiceNow scripting sandbox context.
Conditions required:
  • GraphQL Composite Data API endpoint is reachable (default on)
  • Instance is running a vulnerable version
Where this breaks in practice:
  • No public PoC exists as of August 29, 2026
  • WAF rules blocking malicious GraphQL payloads may provide partial coverage
Detection/coverage: Monitor HTTP logs for unusual GraphQL queries, especially to /api/now/graphql or composite data endpoints. Look for atypical query depth or injection patterns.
STEP 03

Escape sandbox and execute arbitrary code

The injected code leverages ServiceNow's Rhino JavaScript engine to escape the script sandbox. Based on the pattern established by the related CVE-2026-6875 (which followed the same sandbox-escape pattern), the attacker gains the ability to execute arbitrary server-side code, read from and write to any ServiceNow table, and potentially create administrative users. This is full instance compromise.
Conditions required:
  • Successful code injection from step 2
Where this breaks in practice:
  • Sandbox hardening introduced after CVE-2026-6875 may complicate older escape techniques, but this CVE explicitly bypasses those mitigations
Detection/coverage: Audit ServiceNow system logs (sys_audit, syslog) for unexpected script executions, new admin user creation, or bulk table reads. ServiceNow's own security event monitoring should flag anomalous API behavior.
STEP 04

Exfiltrate data or establish persistence

With full instance access, the attacker reads the CMDB (complete asset inventory), ITSM tickets (which frequently contain credentials, network diagrams, and sensitive operational details), HR records, and SecOps data. They can create backdoor admin accounts, install scheduled jobs for persistence, or modify workflow automations to maintain access even after patching. If the instance has MID Server integrations, the attacker may pivot into the internal network.
Conditions required:
  • Full instance compromise from step 3
Where this breaks in practice:
  • MID Server pivot requires MID Servers to be deployed and connected
  • Network segmentation may limit lateral movement from MID Servers
Detection/coverage: Monitor for new admin accounts in sys_user_has_role, unexpected scheduled jobs in sys_trigger, and anomalous MID Server commands. SIEM correlation on ServiceNow audit logs is essential.
03 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationNo known exploitation. ServiceNow states it is "not currently aware of exploitation." However, the closely related CVE-2026-6875 (same platform, same class) was actively exploited in July 2026, establishing a clear pattern of rapid weaponization for ServiceNow pre-auth bugs.
Proof-of-ConceptNo public PoC as of August 29, 2026. Credited researcher is Adam Kues (Assetnote / Searchlight Cyber), who has a track record of publishing detailed technical research on ServiceNow vulns — expect a blog post and potential PoC within weeks.
EPSS0.00383 (low, but this is expected for a 2-day-old CVE — EPSS lags on fresh disclosures)
KEV StatusNot listed. Given the sibling CVE-2026-6875 was exploited within weeks of disclosure, KEV listing is plausible if exploitation materializes.
CVSS VectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H10.0. Every metric is at maximum. Network-reachable, no auth, no interaction, full CIA impact on the vulnerable and downstream systems.
Affected VersionsXanadu (before Patch 11 HF 7a), Yokohama (before Patch 12 HF 3b / Patch 13 HF 4), Zurich (before Patches 7b–12), Australia (before Patches 2–5)
Fixed VersionsXanadu Patch 11 Hot Fix 7a, Yokohama Patch 12 Hot Fix 3b / Patch 13 Hot Fix 4, Zurich Patches 7b HF3 through 12, Australia Patches 2 HF3 through 5. Cloud-hosted instances already patched.
Scanning / Exposure DataServiceNow serves ~8,800 enterprise customers globally. Most are cloud-hosted (patched). Self-hosted instances are identifiable via Shodan (http.title:"ServiceNow"). The June 2026 API exposure incident confirmed that many instances had misconfigured API access.
Disclosure Date2026-08-27 (reserved 2026-08-04)
Reporting ResearcherAdam Kues, Assetnote (acquired by Searchlight Cyber)
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to CRITICAL (9.6/10)

The single most decisive factor is that the affected component — ServiceNow — is an internet-facing enterprise operations platform holding CMDB, ITSM, HR, and SecOps data, and this vulnerability requires zero authentication to achieve full instance compromise. The established pattern of rapid exploitation against ServiceNow pre-auth RCEs (CVE-2026-6875 was weaponized within weeks) makes the threat window for self-hosted instances extremely narrow.

HIGH Vulnerability severity and attack vector characterization
HIGH Affected version ranges and patch availability
MEDIUM Timeline to public weaponization (estimated days-to-weeks based on researcher history)
LOW Exact fraction of installed base that is self-hosted vs. cloud

Why this verdict

  • Unauthenticated remote code execution with zero interaction: CVSS 4.0 10.0 is not hyperbole here — every attack prerequisite metric is at its worst value. No credentials, no phishing, no user clicks. An attacker needs only a reachable URL.
  • Internet-facing by design: Unlike most enterprise software that sits behind firewalls, ServiceNow instances are *designed* to be internet-accessible for employee self-service, API integrations, and partner access. The attack surface is not theoretical — it's the product's default deployment posture.
  • Role multiplier: ServiceNow is canonically a high-value-role platform. It functions as the enterprise CMDB (full asset inventory), ITSM hub (tickets frequently contain credentials and network diagrams), HR system of record, and increasingly as the SecOps/SOAR platform. Compromise of a ServiceNow instance yields fleet-scale reconnaissance data and operational control over IT workflows. For organizations using MID Servers, the blast radius extends into the internal network. This is not a line-of-business app — it is infrastructure-tier software. The floor is CRITICAL.
  • Sibling CVE exploitation precedent: CVE-2026-6875, the same vulnerability class (sandbox escape in ServiceNow AI Platform), was actively exploited in July 2026. Attackers reverse-engineered patches without needing a public PoC. The same will happen here.
  • Cloud-hosted mitigation is real but incomplete: ServiceNow patched cloud-hosted instances automatically, which covers the majority of the installed base. This prevents the score from being a full 10.0. However, self-hosted instances (common in regulated industries, government, and defense) remain fully exposed and represent the highest-value targets.

Why not higher?

A score of 10.0 would require the entire installed base to be vulnerable. Cloud-hosted instances — the majority of ServiceNow deployments — were silently patched by the vendor on August 27. The self-hosted population, while significant and disproportionately high-value (government, defense, regulated industries), is a subset. No public PoC or confirmed exploitation exists yet for this specific CVE.

Why not lower?

Downgrading below CRITICAL is not defensible. This is unauthenticated RCE on an internet-facing platform with zero friction in the attack chain. The affected component is canonically infrastructure-tier: it holds the CMDB, runs IT workflows, and in many orgs manages security operations. The blast radius on compromise is fleet-scale reconnaissance at minimum, internal network pivot via MID Servers at worst. The sibling CVE was exploited in the wild within weeks. Every friction-based downgrade argument collapses against the role multiplier.

05 · Compensating Control

What to do — in priority order.

  1. Restrict GraphQL API access to authenticated users only — If you run a self-hosted instance, immediately configure ACLs on the GraphQL Composite Data API endpoints to require authentication. This directly blocks the unauthenticated attack vector. Deploy within the noisgate mitigation SLA of ≤ 3 days for CRITICAL findings.
  2. IP-restrict access to your ServiceNow instance — Place self-hosted instances behind VPN or IP allowlists. ServiceNow instances should not be reachable from arbitrary internet IPs. This is a defense-in-depth measure — the platform was designed for broad access, but until patched, limiting who can reach it is essential. Deploy within 3 days.
  3. Disable MID Server integrations temporarily — If your instance is compromised, MID Servers provide a direct pivot into your internal network. Disabling or monitoring MID Server connections limits the blast radius while you patch. Re-enable after applying the hotfix.
  4. Audit for indicators of compromise — Check sys_user_has_role for unexpected admin grants, sys_trigger for unknown scheduled jobs, syslog for anomalous script executions, and sys_audit for bulk table reads. Correlate with your SIEM. Do this immediately — the vulnerability has been public for 2 days.
  5. Apply the vendor hotfix — This is the definitive fix. Self-hosted customers should apply the appropriate hotfix for their release (Xanadu Patch 11 HF 7a, Yokohama Patch 12 HF 3b or Patch 13 HF 4, Zurich, or Australia patches) within the noisgate remediation SLA of ≤ 90 days, though given the severity and exploitation precedent, target ≤ 7 days.
What doesn't work
  • WAF rules alone — GraphQL injection payloads are highly variable and can be obfuscated. Generic WAF signatures will not reliably catch novel exploitation of this specific code injection path. WAF is a speed bump, not a fix.
  • Network-level IDS/IPS — the traffic is standard HTTPS to a legitimate ServiceNow endpoint. There is no network-layer anomaly to detect; the malicious payload is in the application layer inside an encrypted TLS session.
  • Disabling the AI Platform feature flag — the GraphQL Composite Data API is a core platform component, not an optional AI add-on. Disabling AI features does not remove the vulnerable endpoint.
06 · Verification

Crowdsourced verification payload.

Run this script from any host that can reach your ServiceNow instance over HTTPS. Usage: ./check_cve_2026_18885.sh https://your-instance.service-now.com. No authentication required — it checks the instance version via the public stats endpoint.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/bin/bash
# CVE-2026-18885 Version Checker
# Checks if a ServiceNow instance is running a vulnerable version
# Usage: ./check_cve_2026_18885.sh <instance_url>
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN

set -euo pipefail

if [ $# -ne 1 ]; then
  echo "Usage: $0 <instance_url>"
  echo "Example: $0 https://mycompany.service-now.com"
  exit 2
fi

INSTANCE_URL="${1%/}"

# Try to get instance version from stats.do or xmlstats.do
echo "[*] Checking ServiceNow instance: $INSTANCE_URL"

# Attempt version detection via login page or stats endpoint
VERSION_RAW=$(curl -sk -m 10 "$INSTANCE_URL/stats.do" 2>/dev/null | grep -oP 'Build tag:\s*\K[^<]+' || true)

if [ -z "$VERSION_RAW" ]; then
  VERSION_RAW=$(curl -sk -m 10 "$INSTANCE_URL/xmlstats.do" 2>/dev/null | grep -oP '<build_tag>[^<]+' | sed 's/<build_tag>//' || true)
fi

if [ -z "$VERSION_RAW" ]; then
  # Try login page for version hints
  VERSION_RAW=$(curl -sk -m 10 "$INSTANCE_URL/login.do" 2>/dev/null | grep -oP 'build_tag"?\s*[:=]\s*"?[^"<,]+' | head -1 || true)
fi

if [ -z "$VERSION_RAW" ]; then
  echo "[!] UNKNOWN — Could not determine instance version."
  echo "    The stats.do endpoint may be restricted."
  echo "    Manually verify your patch level against:"
  echo "    - Xanadu: need Patch 11 Hot Fix 7a or later"
  echo "    - Yokohama: need Patch 12 HF 3b or Patch 13 HF 4 or later"
  echo "    - Zurich: need Patch 7b HF3 or later"
  echo "    - Australia: need Patch 2 HF3 or later"
  echo "UNKNOWN"
  exit 2
fi

echo "[*] Detected build tag: $VERSION_RAW"

# Check for known-patched version strings
# This is a heuristic — exact build tags vary by release
if echo "$VERSION_RAW" | grep -qiE '(australia_patch[5-9]|australia_patch[0-9]{2}|zurich_patch1[2-9]|zurich_patch[2-9][0-9]|yokohama_patch1[3-9].*hf[4-9]|yokohama_patch1[4-9]|xanadu_patch1[1-9].*hf[7-9])'; then
  echo "[+] PATCHED — Instance appears to be running a fixed version."
  echo "PATCHED"
  exit 0
else
  echo "[-] VULNERABLE — Instance may be running a version affected by CVE-2026-18885."
  echo "    Verify exact patch level and apply hotfix immediately."
  echo "    Reference: https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB3152242"
  echo "VULNERABLE"
  exit 1
fi
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: if you self-host ServiceNow, this is a drop-everything item. Cloud-hosted customers can verify patching status via the ServiceNow support portal but are likely already protected — ServiceNow pushed the fix to hosted instances on August 27. Self-hosted and partner-hosted customers must apply the appropriate hotfix (Xanadu Patch 11 HF 7a, Yokohama Patch 12 HF 3b / Patch 13 HF 4, Zurich or Australia patches) immediately. Per the noisgate mitigation SLA, deploy compensating controls (restrict GraphQL API access, IP-restrict the instance) within 3 days. Per the noisgate remediation SLA, complete patching within 90 days — but given that the sibling CVE-2026-6875 was exploited in the wild within weeks, and Adam Kues' research team has a history of publishing detailed writeups, treat the real deadline as this week. Audit your instance for IOCs now: check for unexpected admin accounts, new scheduled jobs, and anomalous bulk table reads. If you have MID Server integrations, monitor those connections for lateral movement attempts.

Sources

  1. ServiceNow August 2026 CVE Advisory (KB3152242)
  2. The Hacker News — Three CVSS 10.0 ServiceNow Flaws
  3. BleepingComputer — ServiceNow warns of three max severity vulnerabilities
  4. CSO Online — ServiceNow patches three maximum severity flaws
  5. Help Net Security — ServiceNow CVE-2026-6875 exploited in the wild
  6. THREATINT CVE-2026-18885 Entry
  7. Searchlight Cyber — Assetnote ServiceNow Research
  8. NHS England Digital — ServiceNow Security Advisory CC-4839
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.