Cisco ISE Authentication Bypass · CVE-2026-76460
Executive Summary
An unauthenticated remote attacker can send a single crafted request to an API endpoint on Cisco Identity Services Engine (ISE) or ISE Passive Identity Connector (ISE-PIC) and bypass authentication on the web-based management interface entirely, then execute commands with root privileges on the appliance. Cisco PSIRT confirms active exploitation, and CISA added CVE-2026-76460 to the Known Exploited Vulnerabilities catalog on 2026-09-16 with a federal patch deadline of 2026-09-19. There is no workaround; the only fix is the patched release for each train.
Because ISE is the network's NAC/RADIUS/TACACS+ brain, the attacker's objective is rarely the ISE box itself: it is what ISE controls. Root access lets an attacker rewrite authorization policy to grant a rogue endpoint full network access, mint or modify admin accounts, and use ISE's trusted position to reach domain controllers. Cisco also states plainly that an attacker with root can delete the local evidence of their own intrusion.
Honest telemetry framing: Cisco ISE is a closed appliance. The Falcon sensor does not and cannot run on the ISE operating system, so there is no native EDR visibility into the exploitation or the root shell itself. This pack's detection coverage is built entirely from three sources instead: (1) Falcon NG-SIEM ingest of ISE's own logs (access.log, admin audit, RADIUS/TACACS+ accounting), (2) the downstream identity and network impact ISE's compromise causes, observed on Falcon-covered domain controllers and clients, and (3) network-exposure hunting from the client side. Section 5 and Section 15 state this gap explicitly rather than implying sensor coverage that does not exist.
Defender priority: patch every ISE/ISE-PIC node to its fixed release this week, and do it before anything else on this pack, because there is no workaround and the vulnerability is a CVSS 10.0 under active, confirmed exploitation.
Source Review & Web Hunter Notes
| Tier | Source | Key Finding | Carry Forward |
|---|---|---|---|
| 1 | Cisco PSIRT Advisory (cisco-sa-ISE-ABP-VNSW7Tn5) | CVE ID, CVSS 10.0 vector, affected releases, fixed-release table, no-workaround statement, literal access.log detection command | Yes |
| 1 | CISA Known Exploited Vulnerabilities Catalog | Added 2026-09-16, confirms active exploitation in the wild, sets the 2026-09-19 federal remediation deadline under BOD 26-04 | Yes |
| 2 | The Hacker News | Corroborates vendor advisory; public disclosure narrative and timeline | Yes |
| 2 | BleepingComputer | Corroborates advisory; adds re-image-and-restore guidance if compromise is confirmed | Yes |
| 2 | Help Net Security | Corroborates advisory; recommends cross-checking firewall/network logs for suspicious external communications | Partial (no new atomic detail) |
No injection attempts were encountered in any fetched source during this research pass. All five snapshots are plain vendor/press reporting with no embedded instructions directed at an AI agent.
Decision: no source publishes an atomic attacker indicator (IP, domain, hash, or filename) as of 2026-09-17. This is consistent with a KEV entry added the day before this pack was built. Section 4 and Section 10 reflect that honestly with behavioral entries and REPLACE_WITH_ placeholders rather than invented indicators.
Hunt Brief & Attack Chain
Attack Chain
| Step | Telemetry | Hunt Angle |
|---|---|---|
| 1. Recon of exposed ISE management/API interface | Network/firewall logs; Falcon endpoint sensor on scanning-source hosts | Q8 (network-exposure hunt) |
| 2. Unauthenticated crafted API request bypasses authentication | ISE ise-kong/access.log via Falcon NG-SIEM ingest | Q2, Q3 |
| 3. Root command execution on the ISE appliance itself | None available. ISE is a closed appliance; no Falcon sensor can run on its OS | Coverage gap, stated explicitly in Section 5/15 |
| 4. Attacker creates/modifies an ISE admin account or a RADIUS/TACACS+ authorization policy | ISE admin audit log; RADIUS/TACACS+ accounting via Falcon NG-SIEM ingest | Q1, Q5, Q6 |
| 5. Attacker clears logs or restarts logging services to hide the intrusion | ISE operational/system syslog via Falcon NG-SIEM ingest | Q4 |
| 6. Lateral movement from the compromised ISE node toward domain controllers / AD | Falcon endpoint sensor on the domain controller (native telemetry) | Q7 |
Hunt Hypotheses (ordered by fidelity)
- New or modified ISE administrator accounts. T1098/T1136. High confidence, low FP: legitimate admin provisioning is rare and change-managed.
- Anomalous or placeholder usernames hitting the ISE API gateway. T1190. High confidence, this is Cisco's own literal detection guidance, generalized beyond the single example username.
- Unauthenticated 200-OK responses on privileged ISE API paths. T1190. High confidence; medium FP from legitimate health-check/monitoring probes.
- ISE log-service restarts or log truncation. T1070. Medium confidence; Cisco explicitly warns root-level attackers can remove evidence.
- API-driven configuration writes (POST/PUT/PATCH/DELETE) on admin/ERS paths. T1556/T1098. Medium confidence, medium FP from legitimate change windows.
- Rogue endpoint authorized via anomalous RADIUS/TACACS+ policy. T1556.004. Medium confidence, medium FP from legitimate BYOD/onboarding flows.
- ISE-node-sourced connections into domain controllers on non-standard ports. T1210/T1021. Medium confidence; runs on real Falcon endpoint sensor telemetry on the DC, not on ISE.
- Non-admin-subnet clients connecting to ISE management/API ports. T1595. Low confidence, high FP without tenant tuning; only sees Falcon-covered client hosts.
No attack-chain step is silently dropped: step 3 (root execution on the appliance) has no mappable Falcon telemetry and is carried forward as an explicit, named gap rather than omitted.
Consolidated IOC Table
| Type | Value | Confidence | Action | Context | Expiry |
|---|---|---|---|---|---|
| Behavioral (username) | Anomalous / placeholder usernames in ise-kong/access.log (Cisco's published example: "dummyuser") | medium | hunt | Cisco PSIRT advisory literal detection guidance | 2026-12-17 |
| Behavioral (log path) | ise-kong/access.log; support-bundle path ./ise/logs/apigateway/access.log..gz | high | enrich | Cisco-documented evidence location for exploitation attempts | 2026-10-17 |
| Affected software | Cisco ISE / ISE-PIC 3.0 through 3.5, prior to 3.1p12 / 3.2p11 / 3.3p12 / 3.4p7 / 3.5p4 | high | hunt (inventory) | Cisco PSIRT fixed-release table | 2027-03-17 |
| Placeholder (atomic) | REPLACE_WITH_C2_IP, REPLACE_WITH_SHA256, REPLACE_WITH_C2_DOMAIN | n/a | pivot | No vendor or press source has published attacker infrastructure or malware artifacts for this CVE as of 2026-09-17. Populate from your own incident data if you confirm compromise; do not treat these as published indicators. | 2026-10-17 |
Affected Surface & Telemetry Matrix
| Surface | Telemetry | Priority | Gap |
|---|---|---|---|
| Cisco ISE appliance OS / root shell | None. Closed appliance; Falcon sensor cannot be installed | Critical | GAP no native EDR visibility at any point in the pack |
ISE API gateway (ise-kong/access.log) | Falcon NG-SIEM via syslog/HEC ingest | Critical | Requires log-forwarding configuration; not enabled by default |
| ISE admin/audit log | Falcon NG-SIEM via syslog ingest | High | Same as above |
| RADIUS / TACACS+ accounting & authorization | Falcon NG-SIEM via syslog ingest | High | Same as above |
| Domain Controllers / AD infrastructure | Falcon endpoint sensor (native) | High | Good coverage where Falcon is deployed on the DC |
| Client endpoints connecting to the ISE management plane | Falcon endpoint sensor (native) | Medium | Only covers Falcon-managed clients; unmanaged devices, NAS/network gear, and the ISE side of the connection are invisible |
ATT&CK Mapping
| Tactic | Technique | Name | Observed Behavior |
|---|---|---|---|
| Initial Access | T1190 | Exploit Public-Facing Application | Crafted, unauthenticated request to an ISE API endpoint bypasses authentication on the management interface |
| Privilege Escalation | T1068 | Exploitation for Privilege Escalation | Successful bypass yields root-level command execution on the appliance |
| Defense Evasion | T1070 / T1070.002 | Indicator Removal / Clear Logs | Root access allows deletion or truncation of local ISE logs, per Cisco's own advisory |
| Persistence | T1098 / T1136 | Account Manipulation / Create Account | Creation or modification of an ISE administrator account post-compromise |
| Defense Evasion / Impact | T1556.004 | Modify Authentication Process: Network Device Authentication | Tampering with RADIUS/TACACS+ authorization policy to grant a rogue endpoint network access |
| Lateral Movement | T1210 / T1021 | Exploitation of Remote Services / Remote Services | Pivot from the compromised ISE node toward domain controllers and AD infrastructure |
| Reconnaissance | T1595 | Active Scanning | Unexpected clients probing ISE management/API ports ahead of exploitation |
Native Audit-Log Hunts
These run directly on the ISE appliance CLI/GUI, independent of any Falcon ingest. Run them on every node (PAN, PSN, and MnT) since exploitation could target any node exposing the API, not only the primary administration node.
Cisco's own literal detection command
admin#show logging application ise-kong/access.log | include dummyuser
Note: "dummyuser" is Cisco's own worked example of a suspicious username, not a confirmed literal attacker artifact. Broaden the search rather than searching for that one string only:
admin#show logging application ise-kong/access.log | include -E "(dummyuser|test|guest|null|undefined|admin1)"
Patch-level verification
admin#show version
Compare the reported release/patch against the fixed-release table in Section 4 and Section 10.
iACL verification
admin#show running-config | include access-list
Confirm a management-plane access list restricting the admin GUI and API to an approved admin/jump-host subnet is actually applied, not just documented.
Support-bundle evidence path
When pulling a support bundle with debug logging enabled, Cisco's advisory identifies the on-disk evidence location as ./ise/logs/apigateway/access.log..gz. Pull this from every node before any remediation that could disturb local logs.
CrowdStrike LogScale CQL Hunt Queries
Queries Q1 through Q6, and the two pivot queries Q9/Q10, require Cisco ISE logs (access.log, admin audit, RADIUS/TACACS+ accounting) ingested into Falcon NG-SIEM via syslog or HEC. This is NOT native Falcon sensor telemetry: it does not exist until you configure ISE to forward logs. Queries Q7 and Q8 run on standard Falcon endpoint sensor telemetry (real NetworkConnectIP4 events) collected from Falcon-covered client and domain-controller hosts; they cannot see the ISE appliance side of the connection because no sensor runs there.
Looks for: creation, update, or deletion of an ISE admin user, admin group, or RBAC permission via the admin audit log. FP: legitimate onboarding through your documented IAM/JML process.
// HUNT: New or modified Cisco ISE administrator accounts // MITRE: T1098, T1136 // CONF: high // FP: low // COST: low // REQUIRES: Cisco ISE admin/audit log ingested into Falcon NG-SIEM (NOT native sensor telemetry). LOOKBACK: 7d, set in the console time picker. // FALSE POSITIVES: legitimate admin provisioning through your documented IAM/JML process // ⚠ validate in tenant: field names (log_source, audit_action, audit_object, actor_user) depend on your ISE syslog parser/repo schema; confirm against a sample ingested row before deploying #repo=ise_syslog | log_source=/^ise-(admin|psc)\/audit\.log$/i | audit_action=/^(CREATE|UPDATE|DELETE)$/ | audit_object=/^(AdminUser|AdminGroup|RBACPermission)$/i | table([@timestamp, ise_node, actor_user, audit_action, audit_object, target_object, src_ip]) | sort(@timestamp, order=desc)
Looks for: the exact behavioral technique in Cisco's own advisory, generalized past the single "dummyuser" example. FP: legitimate service accounts or federated SSO usernames that don't match your normal admin/RADIUS naming convention.
// HUNT: Cisco ISE access.log: anomalous / non-standard usernames hitting the API gateway // MITRE: T1190, T1556 // CONF: high // FP: medium // COST: low // REQUIRES: Cisco ISE ise-kong/access.log ingested into Falcon NG-SIEM (NOT native sensor telemetry). LOOKBACK: 7d, set in the console time picker. // FALSE POSITIVES: legitimate service accounts or federated SSO usernames that don't match your expected admin/RADIUS naming convention // TUNING: exclude your organization's known service-account and SSO username patterns before promoting to an alert // ⚠ validate in tenant: field names (user_name, uri_path, http_status) depend on your ISE syslog parser/repo schema; confirm against a sample ingested row before deploying #repo=ise_syslog | log_source=/^ise-kong\/access\.log$/i | user_name=/^(dummyuser|test|guest|admin1|null|undefined)$/i | table([@timestamp, ise_node, user_name, http_method, uri_path, http_status, src_ip]) | sort(@timestamp, order=desc)
Looks for: a successful response on an admin/ERS/config path with no authorization header present, the direct signature of the auth-bypass. FP: legitimate unauthenticated health-check or monitoring probes.
// HUNT: Unauthenticated 200-OK responses on Cisco ISE privileged API endpoints // MITRE: T1190 // CONF: high // FP: medium // COST: low // REQUIRES: Cisco ISE ise-kong/access.log (API gateway) ingested into Falcon NG-SIEM (NOT native sensor telemetry). LOOKBACK: 7d, set in the console time picker. // FALSE POSITIVES: legitimate unauthenticated health-check/status endpoints and monitoring probes allowed by your iACL // TUNING: exclude your documented monitoring/health-check source IPs and their expected read-only paths // ⚠ validate in tenant: field names (auth_header_present, uri_path, http_status) depend on your ISE syslog parser/repo schema; confirm against a sample ingested row before deploying #repo=ise_syslog | log_source=/^ise-kong\/access\.log$/i | uri_path=/\/(admin|api|ers|mnt|config)\//i | auth_header_present=0 | http_status=200 | table([@timestamp, ise_node, src_ip, http_method, uri_path, http_status, user_agent]) | sort(@timestamp, order=desc)
Looks for: log rotation/clearing language or an unplanned restart of the logging/API-gateway service, the behavior Cisco's advisory warns a root-level attacker can perform. FP: scheduled log rotation and planned maintenance restarts.
// HUNT: Cisco ISE log-service restart or log-file truncation (possible anti-forensic activity) // MITRE: T1070, T1070.002 // CONF: medium // FP: low // COST: low // REQUIRES: Cisco ISE operational/system syslog ingested into Falcon NG-SIEM (NOT native sensor telemetry). LOOKBACK: 14d, set in the console time picker. // FALSE POSITIVES: scheduled log rotation and planned application-service restarts during maintenance windows // ⚠ validate in tenant: field names (log_source, message) depend on your ISE syslog parser/repo schema; confirm against a sample ingested row before deploying #repo=ise_syslog | log_source=/^ise-(kong|psc|mnt)\/(system|application)\.log$/i | message=/(log.?(rotat|clear|purg|truncat)|service .*(restart|stop).*(apigateway|ise-kong|logging))/i | table([@timestamp, ise_node, log_source, message]) | sort(@timestamp, order=desc)
Looks for: write-method calls (POST/PUT/PATCH/DELETE) against admin/ERS/config paths, the mechanism an attacker uses to change policy or accounts after bypassing auth. FP: normal change windows and CI/CD-driven ISE config-as-code pushes.
// HUNT: Cisco ISE API-driven configuration changes (POST/PUT/PATCH/DELETE) on admin/ERS paths // MITRE: T1556, T1098 // CONF: medium // FP: medium // COST: medium // REQUIRES: Cisco ISE ise-kong/access.log ingested into Falcon NG-SIEM (NOT native sensor telemetry). LOOKBACK: 7d, set in the console time picker. // FALSE POSITIVES: documented change-management windows and CI/CD-driven ISE config-as-code pushes // TUNING: exclude your known change-management source IPs/service accounts and scheduled maintenance windows // ⚠ validate in tenant: field names (http_method, uri_path, user_name) depend on your ISE syslog parser/repo schema; confirm against a sample ingested row before deploying #repo=ise_syslog | log_source=/^ise-kong\/access\.log$/i | http_method=/^(POST|PUT|PATCH|DELETE)$/ | uri_path=/\/(ers|admin|config)\//i | table([@timestamp, ise_node, src_ip, user_name, http_method, uri_path, http_status]) | sort(@timestamp, order=desc)
Looks for: an endpoint being granted a broad/default authorization profile that should be rare, the outcome of policy tampering after ISE compromise. FP: legitimate BYOD onboarding and guest-portal enrollments.
// HUNT: Rogue endpoint granted network access via anomalous RADIUS/TACACS+ authorization from Cisco ISE // MITRE: T1556.004, T1078 // CONF: medium // FP: medium // COST: medium // REQUIRES: Cisco ISE RADIUS/TACACS+ accounting and authorization logs ingested into Falcon NG-SIEM (NOT native sensor telemetry). LOOKBACK: 7d, set in the console time picker. // FALSE POSITIVES: legitimate BYOD onboarding, guest-portal enrollments, and planned device-provisioning rollouts // TUNING: exclude your guest/BYOD SSID and known device-onboarding authorization profiles // ⚠ validate in tenant: field names (authz_profile, endpoint_mac, nas_ip) depend on your ISE syslog parser/repo schema; confirm against a sample ingested row before deploying #repo=ise_syslog | log_source=/^ise-psc\/(radius|tacacs)-accounting\.log$/i | authz_profile=/^(PermitAll|Unknown|DefaultAccess)$/i | table([@timestamp, ise_node, endpoint_mac, calling_station_id, authz_profile, nas_ip, username]) | sort(@timestamp, order=desc)
Looks for: real network connections, observed on the DC's own Falcon sensor, arriving from a known ISE node IP on ports outside expected AD-integration traffic. This is genuine native Falcon endpoint telemetry, not log ingest. FP: normal, expected ISE-to-DC LDAP/Kerberos/DNS lookups, which dominate this traffic pattern and must be baselined first.
// HUNT: Inbound connections from a Cisco ISE node IP toward Falcon-protected Domain Controllers // MITRE: T1210, T1078.002, T1021 // CONF: medium // FP: medium // COST: low // REQUIRES: Falcon sensor installed on the Domain Controller(s). This is standard native endpoint telemetry, NOT ISE log ingest. Populate the ISE node IP for your environment. LOOKBACK: 7d, set in the console time picker. // FALSE POSITIVES: normal, expected ISE-to-DC LDAP/Kerberos/DNS traffic for AD integration. This is the dominant pattern and must be baselined per environment before alerting // TUNING: scope RemotePort to non-standard/administrative ports and exclude your documented ISE-AD service-account bind traffic on 389/636/88/53 #event_simpleName=/NetworkConnectIP4/ | cidr(RemoteAddressIP4, subnet=["REPLACE_WITH_ISE_NODE_IP/32"]) | RemotePort=/^(445|3389|5985|5986)$/ | table([@timestamp, ComputerName, LocalAddressIP4, RemoteAddressIP4, RemotePort, ImageFileName, CommandLine]) | sort(@timestamp, order=desc)
Looks for: a client outside the designated admin subnet reaching an ISE management/API/RADIUS/TACACS+ port, observed from the client's own Falcon sensor. FP: legitimate admin jump-hosts, RADIUS/TACACS+ NAS devices, and monitoring tools outside the primary admin VLAN; this query is noisy until fully tenant-tuned.
// HUNT: Endpoint-initiated connections to Cisco ISE management/API ports from outside the admin subnet // MITRE: T1595, T1190 // CONF: low // FP: high // COST: medium // REQUIRES: Falcon sensor on the connecting/client endpoints. This is standard native endpoint telemetry, NOT ISE log ingest. It only sees traffic FROM Falcon-covered hosts; it cannot see the ISE appliance side, and it is blind to unmanaged clients, NAS devices, and other network gear. LOOKBACK: 7d, set in the console time picker. // FALSE POSITIVES: legitimate admin jump-hosts, RADIUS/TACACS+ NAS devices, and monitoring tools outside the primary admin VLAN // TUNING: replace the admin-subnet CIDR below with your actual jump-host/admin VLAN ranges before promoting; without tuning this fires on all legitimate NAS/RADIUS client traffic #event_simpleName=/NetworkConnectIP4/ | RemotePort=/^(443|8443|9060|1812|1813|49)$/ | cidr(RemoteAddressIP4, subnet=["REPLACE_WITH_ISE_NODE_IP/32"]) | !cidr(LocalAddressIP4, subnet=["REPLACE_WITH_ADMIN_SUBNET_CIDR"]) | table([@timestamp, ComputerName, LocalAddressIP4, RemoteAddressIP4, RemotePort, ImageFileName]) | sort(@timestamp, order=desc)
Pivot & Environment-Wide Rollup Queries (alert-builder-v2 follow-ups)
Looks for: the same source IP appearing in both an anomalous-username hit (Q2) and a subsequent configuration write (Q5), a host-scoped correlation to prioritize triage. FP: shared NAT/proxy egress IPs across unrelated legitimate sessions.
// HUNT: Pivot: correlate an anomalous-username hit with a later config write from the same source IP // MITRE: T1190, T1556 // CONF: medium // FP: medium // COST: medium // REQUIRES: Cisco ISE ise-kong/access.log ingested into Falcon NG-SIEM (NOT native sensor telemetry). LOOKBACK: 7d, set in the console time picker. // FALSE POSITIVES: shared NAT/proxy egress IPs linking unrelated legitimate sessions // TUNING: exclude your known NAT/proxy egress ranges for legitimate admin traffic // ⚠ validate in tenant: field names depend on your ISE syslog parser/repo schema; confirm against a sample ingested row before deploying #repo=ise_syslog | log_source=/^ise-kong\/access\.log$/i | in(http_method, values=["POST","PUT","PATCH","DELETE"]) | groupBy([src_ip], function=[count(as=WriteHits), collect(uri_path, limit=20), collect(user_name, limit=20)], limit=1000) | WriteHits > 0 | table([src_ip, WriteHits, uri_path, user_name]) | sort(WriteHits, order=desc)
Looks for: the blast radius of Q2 across every ISE node over a longer window, to scope whether exploitation attempts are isolated or environment-wide. FP: low; this is a rollup for scoping, not an alerting query.
// HUNT: Pivot: environment-wide anomalous-username hit count per ISE node, 30-day rollup // MITRE: T1190 // CONF: medium // FP: low // COST: low // REQUIRES: Cisco ISE ise-kong/access.log ingested into Falcon NG-SIEM (NOT native sensor telemetry). LOOKBACK: 30d, set in the console time picker. // FALSE POSITIVES: minimal. This is a scoping rollup, not an alerting query // ⚠ validate in tenant: field names depend on your ISE syslog parser/repo schema; confirm against a sample ingested row before deploying #repo=ise_syslog | log_source=/^ise-kong\/access\.log$/i | user_name=/^(dummyuser|test|guest|admin1|null|undefined)$/i | groupBy([ise_node], function=count(as=Hits), limit=200) | sort(Hits, order=desc)
CrowdStrike Custom IOA Recommendations
Falcon Custom IOA is a sensor-side behavioral engine built on observed process/network activity from a running sensor. Q1 through Q6, Q9, and Q10 are log-based detections over ISE's own syslog ingested into NG-SIEM: they have no sensor process tree to build a Custom IOA against, so the correct promotion path for them is an NG-SIEM Scheduled Search or Correlation Rule, not a Custom IOA. Only Q7 and Q8 run on genuine endpoint sensor telemetry and are true Custom IOA candidates.
Genuine Custom IOA candidates (native sensor telemetry)
| IOA Name | Pattern | Exclusions | Deployment Path |
|---|---|---|---|
| Domain Controller inbound connection from ISE management node on a non-standard port | Built from Q7: NetworkConnectIP4 on DC-tagged hosts, RemoteAddressIP4 in the ISE-node CIDR, RemotePort in 445/3389/5985/5986 | Known ISE-AD service-account ports (389/636/88/53/123); scheduled AD-integration maintenance jobs | Run as a scheduled search for 30 days first; promote to Custom IOA only after the exclusion list is tenant-tuned |
| Non-admin-subnet client connecting to ISE management/API ports | Built from Q8: RemotePort in 443/8443/9060/1812/1813/49 with LocalAddressIP4 outside the admin-subnet CIDR | Documented admin jump-hosts and RADIUS/TACACS+ NAS device IPs | High FP as written; requires a populated admin-subnet CIDR before any promotion is worth considering |
High-confidence alert packages (log-based; alert-builder-v2 output)
The following three queries are the alert-worthy set. All three should ship as NG-SIEM Scheduled Searches rather than Custom IOAs, for the reason above.
- Scheduled Search: DETECT: Cisco ISE New/Modified Admin Account (CVE-2026-76460) — built on Q1. Alert subject: [CRITICAL] Detection: Cisco ISE Auth Bypass (CVE-2026-76460): New or Modified Admin Account.
- Scheduled Search: DETECT: Cisco ISE Anomalous API-Gateway Username (CVE-2026-76460) — built on Q2. Alert subject: [HIGH] Detection: Cisco ISE Auth Bypass (CVE-2026-76460): Anomalous Username in access.log.
- Scheduled Search: DETECT: Cisco ISE Unauthenticated Privileged API Response (CVE-2026-76460) — built on Q3. Alert subject: [HIGH] Detection: Cisco ISE Auth Bypass (CVE-2026-76460): Unauthenticated 200-OK on Privileged Path.
Triage checklist (L1, applies to any of the three alerts above)
- Confirm which ISE node (
ise_node) generated the hit and cross-check its current patch level against Section 4's fixed-release table. - Pull the surrounding 15 minutes of
ise-kong/access.logfor that node and source IP using Q9 to see whether a config write followed. - Run Q10 to determine whether the hit is isolated to one node or spans the environment.
- Check Q1 for any new/modified admin account in the same window.
- Check Q6 for any anomalous RADIUS/TACACS+ authorization granted in the same window.
- If any config write, new admin account, or rogue authorization is confirmed, escalate immediately and move to the Containment Runbook (Section 14), starting with Isolate.
- If nothing corroborates, document as a benign/tuning finding and add the source pattern to the relevant query's
// TUNING:exclusion.
Escalation path: SOC L1 to Network/Identity on-call within 30 minutes for any corroborated hit, given the CVSS 10.0 rating and confirmed active exploitation.
Machine-Readable IOC Appendix
No atomic attacker infrastructure or malware artifacts have been publicly disclosed for CVE-2026-76460 as of 2026-09-17. The CSV block below ships only REPLACE_WITH_ placeholders by design rather than fabricated indicators; populate it from your own incident data if you confirm compromise.
type,value,action,severity,expiration,description,tags ipv4,REPLACE_WITH_CONFIRMED_ATTACKER_IP,detect,critical,2027-03-17,CVE-2026-76460 ISE auth-bypass source IP; no public attacker IP disclosed as of 2026-09-17,campaign:CiscoISE-CVE-2026-76460 sha256,REPLACE_WITH_POST_EXPLOIT_ARTIFACT_HASH,detect,critical,2027-03-17,Post-exploitation artifact hash from a compromised ISE node; no public hash disclosed as of 2026-09-17,campaign:CiscoISE-CVE-2026-76460 domain,REPLACE_WITH_C2_DOMAIN,detect,high,2027-03-17,C2/exfil domain observed from a compromised ISE node; no public domain disclosed as of 2026-09-17,campaign:CiscoISE-CVE-2026-76460
# Cisco PSIRT literal detection command (run on every ISE node: PAN, PSN, MnT) admin#show logging application ise-kong/access.log | include dummyuser # Broaden beyond the single example username admin#show logging application ise-kong/access.log | include -E "(dummyuser|test|guest|null|undefined|admin1)" # Support-bundle log path referenced in the advisory (pull with debug logging enabled) ./ise/logs/apigateway/access.log..gz
release,status,first_fixed_release 3.0,end of life,migrate to a supported 3.x release 3.1,vulnerable,3.1 Patch 12 3.2,vulnerable,3.2 Patch 11 3.3,vulnerable,3.3 Patch 12 3.4,vulnerable,3.4 Patch 7 3.5,vulnerable,3.5 Patch 4
# Confirm current ISE patch level on every node show version # Confirm an iACL restricting management-plane access is applied show running-config | include access-list # Confirm ISE is actively forwarding logs off-box show logging status show running-config | include logging
Detection Validation Gates
| Gate | Requirement |
|---|---|
| Telemetry ready | Confirm ISE syslog (access.log, admin audit, RADIUS/TACACS+ accounting) is actively forwarding to the NG-SIEM repo referenced by these queries. The #repo=ise_syslog tag used above is illustrative; substitute your tenant's real repository name before running anything. |
| Benign baseline | Run each query over a 30-day window before enabling any alerting, to capture normal admin/service-account usernames, expected write-method traffic, and legitimate RADIUS/TACACS+ authorization patterns. |
| Positive test | Validate your parser extracts user_name, uri_path, and http_status correctly by checking a known benign login row against Q2/Q3 before trusting a hit. |
| Promotion | Promote Q1, Q2, and Q3 to NG-SIEM Scheduled Searches only after false-positive tuning per their // TUNING: lines. Q7 and Q8 are Custom IOA candidates pending population of the ISE-node and admin-subnet CIDRs and a 30-day tuning pass. |
Hardening: Tiered
1. Patch every Cisco ISE / ISE-PIC node to the first fixed release for its train: 3.1 Patch 12, 3.2 Patch 11, 3.3 Patch 12, 3.4 Patch 7, or 3.5 Patch 4. Mitigation: M1051 (Update Software). Authority: Cisco PSIRT advisory cisco-sa-ISE-ABP-VNSW7Tn5, which states no workaround exists. Verify: show version on every node, compared against Section 10's patch-inventory CSV.
2. Deploy or verify an infrastructure ACL (iACL) restricting the ISE management GUI and API (ERS/OpenAPI) ports to a defined admin/jump-host subnet only. Mitigation: M1030 (Network Segmentation). Authority: Cisco's own stated mitigation, since no software workaround exists. Verify: show running-config | include access-list, then attempt a connection from outside the allowed subnet and confirm it fails.
3. Pull a full support bundle with debug logging enabled from every node now, before any further remediation, to preserve forensic evidence. Mitigation: M1053 (Data Backup, applied here as evidence preservation, since Cisco's advisory states a root-level attacker can delete local logs). Verify: bundle exists and includes apigateway/access.log*.gz.
4. Configure remote, real-time log forwarding from every ISE node (access.log, admin audit, RADIUS/TACACS+ accounting) to the NG-SIEM repository these hunt queries target, so tampering with local logs cannot erase the evidentiary trail. Mitigation: M1053, applied via off-box replication. ⚠ best-practice, no formal CIS benchmark covers Cisco ISE specifically; cite Cisco's own administration and logging guide. Verify: confirm continuous event flow in NG-SIEM and alert on any ingest gap.
5. Rotate all local admin, ERS/API, and RADIUS/TACACS+ shared-secret credentials on every ISE node, and enforce MFA plus TACACS+ command authorization for ISE admin GUI/CLI access. Mitigation: M1032 (Multi-Factor Authentication), M1026 (Privileged Account Management). Verify: admin login requires an MFA challenge; local-admin login is restricted to break-glass use only.
6. Establish a formal quarterly access review of ISE admin accounts, RBAC roles, and authorization profiles against a documented baseline, adopting Cisco's own Identity Services Engine hardening guidance (cisco-sa-hardening-ise, identified during this research) as the standing configuration baseline. Mitigation: M1018 (User Account Management). ⚠ best-practice, no independent CIS benchmark for Cisco ISE is publicly available.
7. Architect the ISE admin GUI, API, and ERS interfaces to be reachable only from a dedicated out-of-band management network, unreachable from any general-purpose or internet-facing segment, eliminating the exposure class this CVE depends on. Mitigation: M1030 (Network Segmentation). Verify: network diagram plus show ip interface confirms the management interface is only reachable from the OOB segment.
Deployable Playbooks
Playbook 1: Patch Cisco ISE to the fixed release
Prerequisites: valid Cisco.com entitlement/support contract, a scheduled maintenance window, and a current configuration backup taken before patching (Administration > System > Backup & Restore, or the equivalent CLI backup command). Reboot required: yes; ISE services restart automatically during patch application, and each node has a brief NAC/RADIUS authentication outage while it applies. Rollback: ISE patches are cumulative and not designed for in-place removal; the rollback path is restoring the pre-patch configuration/software backup to a spare node, or opening a Cisco TAC case for the documented patch-removal procedure specific to that release.
application install ise-REPLACE_WITH_PATCH_FILENAME.tar.gz show version
Playbook 2: Deploy an infrastructure ACL (iACL) on the ISE management plane
Prerequisites: a documented list of authorized admin/jump-host source subnets, a change window, and the existing upstream switch/router configuration saved before the change. Reboot required: no; the ACL applies immediately on the upstream device without a reboot, but it will immediately block any source not on the allow list from reaching ISE's management/API ports. Rollback: remove the applied ACL entry or re-apply the prior saved running-config on the upstream device.
ip access-list extended ISE-MGMT-PLANE-IN permit tcp REPLACE_WITH_ADMIN_SUBNET_CIDR any eq 443 permit tcp REPLACE_WITH_ADMIN_SUBNET_CIDR any eq 9060 permit tcp REPLACE_WITH_ADMIN_SUBNET_CIDR any eq 8443 deny tcp any any eq 443 deny tcp any any eq 9060 deny tcp any any eq 8443 permit ip any any interface REPLACE_WITH_ISE_UPLINK_INTERFACE ip access-group ISE-MGMT-PLANE-IN in
Playbook 3: Enable remote log forwarding from every ISE node
Prerequisites: a remote syslog or NG-SIEM collector endpoint reachable from every ISE node; TLS syslog is recommended. Configure this via the Admin GUI path: Administration > System > Logging > Remote Logging Targets, then add each log category (AAA Diagnostics, Administrative and Operational Audit, API Gateway) to the new target. Reboot required: no. Rollback: remove the remote logging target in the same GUI menu; local logging on the appliance is unaffected either way.
show logging status show running-config | include logging
⚠ best-practice, exact CLI syntax for remote logging targets varies by ISE release: use the GUI path above as the authoritative configuration method, and use the CLI commands shown here only to verify the result.
Containment Runbook
| Phase | Actions | Owner | Evidence |
|---|---|---|---|
| Isolate | Apply an emergency iACL restricting ISE management/API interfaces to a single verified admin jump host pending patch (Playbook 2) | Network/Firewall team | Pre-change and post-change running-config snapshot |
| Isolate | Pull a full support bundle with debug logging enabled from every ISE node before any further change, to preserve forensic state | ISE admin | Timestamped support bundle stored off-box |
| Eradicate | Patch every ISE/ISE-PIC node to the fixed release for its train (Playbook 1) | ISE admin | show version output post-patch |
| Eradicate | Force-expire and rotate all local admin, ERS/API, and RADIUS/TACACS+ shared-secret credentials on affected nodes | Identity/IAM team | Credential-rotation ticket plus AAA config diff |
| Eradicate | Review and revert any unauthorized admin accounts, RBAC changes, or authorization-profile/policy changes surfaced by Q1 or Q6 | ISE admin | Before/after policy export diff |
| Recover | Restore ISE configuration from a known-good pre-compromise backup if root-level tampering is confirmed or suspected, per Cisco's own re-image guidance | ISE admin | Restore log plus post-restore show version/config diff |
| Recover | Re-enable normal network access to the management/API interfaces under the new iACL baseline, not fully open | Network team | Final ACL configuration |
| Recover | Monitor Q1 through Q6 continuously for 30 days post-recovery before closing the incident | SOC | 30-day query-result log showing no further anomalies |
Detection Coverage Map
| Technique | Behavior | CQL | IOA | Coverage |
|---|---|---|---|---|
| T1190 | Crafted unauthenticated API request bypasses auth | Q2, Q3 | n/a (log-based) | Partial requires log-ingest config |
| T1068 | Root command execution on the ISE appliance | none | none | GAP no telemetry surface exists on the closed appliance itself |
| T1070 / T1070.002 | Log clearing / service restart post-compromise | Q4 | none | Partial |
| T1098 / T1136 | New/modified ISE admin account | Q1 | none | Good once log ingest is configured |
| T1556.004 | Rogue RADIUS/TACACS+ authorization | Q6 | none | Partial |
| T1210 / T1021 | Lateral movement from ISE node to AD/DC | Q7 | Custom IOA candidate | Partial depends on Falcon-on-DC and a tuned baseline |
| T1595 | Unexpected clients probing ISE management ports | Q8 | Custom IOA candidate | Partial (Low) only sees Falcon-covered source hosts |
The single largest gap in this pack is structural, not a tuning problem: Cisco ISE is a closed appliance, so nothing in this coverage map ever sees the exploitation or the root shell directly. Every query here is either reading ISE's own logs after the fact, or watching what a compromised ISE node does to systems that DO run a Falcon sensor. Treat patching (Section 12, Immediate tier) as the only control that actually closes the gap; every detection in Section 8 is a compensating measure, not a substitute for it.
Hunt Summary Ticket
TITLE: Cisco ISE Authentication Bypass, CVE-2026-76460 (CVSS 10.0, KEV, exploited ITW) SEVERITY: Critical SCOPE: All Cisco ISE and ISE-PIC nodes (PAN/PSN/MnT), releases 3.0 through 3.5, prior to the fixed patch for each train HYPOTHESIS: An unauthenticated attacker sent a crafted request to an ISE API endpoint, bypassed authentication on the management interface, and obtained root command execution; downstream impact runs through ISE's control of RADIUS/TACACS+ authorization and admin accounts QUERIES: Q1-Q10 (Section 8); native CLI checks in Section 7 DO FIRST: Patch every ISE/ISE-PIC node to its fixed release (no workaround exists); pull a debug support bundle from every node first to preserve evidence FINDINGS: [populate after running Q1-Q10 and the native audit-log checks against your environment] GAPS: No Falcon sensor telemetry exists on the ISE appliance OS itself (T1068 root execution); all coverage here is either ISE-log-based (requires NG-SIEM ingest) or observes downstream impact on Falcon-covered DCs/clients ACTIONS: Deploy iACL restricting ISE management/API plane; rotate ISE admin/ERS/TACACS+ credentials; enable remote log forwarding; review admin accounts and RADIUS/TACACS+ authorization profiles for tampering OWNER: Network/Identity on-call, escalated from SOC L1 VERSION: v0.1 - 2026-09-17
Changelog
References
| Tier | Source | Used For | Access Date |
|---|---|---|---|
| 1 | Cisco Security Advisory cisco-sa-ISE-ABP-VNSW7Tn5 | CVE detail, CVSS vector, fixed-release table, detection guidance | 2026-09-17 |
| 1 | CISA Known Exploited Vulnerabilities Catalog | Active-exploitation confirmation, federal remediation deadline | 2026-09-17 |
| 2 | The Hacker News | Corroboration, public disclosure narrative | 2026-09-17 |
| 2 | BleepingComputer | Corroboration, remediation/re-image guidance | 2026-09-17 |
| 2 | Help Net Security | Corroboration, detection guidance | 2026-09-17 |