Sep 28, 2026·4 min read·10 visits
A critical vulnerability in Cisco ISE (CVSS 10.0) allows remote, unauthenticated attackers to bypass authentication and gain full administrative control via crafted API requests.
On September 16, 2026, Cisco disclosed a critical authentication bypass vulnerability affecting Cisco Identity Services Engine (ISE) and Cisco ISE Passive Identity Connector (ISE-PIC). This vulnerability allows unauthenticated, remote attackers to bypass the administrative interface controls and execute privileged API requests. Due to active exploitation in the wild, the Cybersecurity and Infrastructure Security Agency (CISA) added this vulnerability to the Known Exploited Vulnerabilities (KEV) Catalog with an immediate remediation deadline.
CVE-2026-76460 is an authentication bypass vulnerability affecting Cisco Identity Services Engine (ISE) and Cisco ISE Passive Identity Connector (ISE-PIC). The vulnerability resides in the application's administrative API endpoints. It allows network-based, unauthenticated attackers to perform privileged operations.
Under normal operations, administrative functions are protected by robust session verification controls. However, due to routing configuration errors, specific API endpoints do not enforce authorization verification. This permits external entities to access critical database and configuration pathways.
Cisco ISE serves as an enterprise network access control policy platform. A compromise of this service exposes internal network policy configurations, active authentication sessions, and identity store credentials.
The root cause of the vulnerability is a logical failure in the routing and authorization infrastructure (CWE-648). The application uses a central API gateway middleware to inspect incoming HTTP traffic and evaluate tokens or session identifiers. However, specific administrative API endpoints were mapped outside of these central protection filters.
This configuration omission allows incoming HTTP requests targeting /api/v1/management/ paths to proceed directly to the backend controller without token interrogation. Because the backend controller relies entirely on the gateway layer to perform authentication, it processes these requests as pre-authorized.
As a consequence of this trust assumption, the controller executes the associated administrative queries and returns sensitive response payloads directly to unauthenticated clients.
Analysis of the routing mechanics highlights the difference between vulnerable routing configurations and secure implementations. In the vulnerable configuration, routing patterns for administrative API endpoints are evaluated without enforcing bearer token validation.
Consider the vulnerable endpoint pattern representing this routing flow:
# Vulnerable Endpoint Definition
@app.route("/api/management/users", methods=["GET"])
def management_users():
# Vulnerability: The controller executes queries without verifying authorization
logger = app.config["AUDIT_LOGGER"]
if app.config.get("MODE") == "vulnerable":
logger.warning("unauthenticated access granted to management_users")
return jsonify({"users": USERS, "warning": "unauthenticated access allowed"})In the patched implementation, explicit token validation is implemented at the controller level as a secondary defense layer:
# Patched Endpoint Definition
@app.route("/api/management/users", methods=["GET"])
def management_users():
logger = app.config["AUDIT_LOGGER"]
token = request.headers.get("Authorization", "")
# Strict validation of bearer token presence
if not token.startswith("Bearer "):
logger.warning("authorization failed: missing or malformed bearer token")
return jsonify({"error": "authentication required"}), 401
token_value = token.split(" ", 1)[1]
identity = require_auth(token_value, session_tokens)
# Verification of cryptographic validity
if not identity:
logger.warning("authorization failed: invalid token")
return jsonify({"error": "invalid token"}), 401
return jsonify({"users": USERS})Exploitation of CVE-2026-76460 requires direct network access to the administrative port of Cisco ISE. Attackers identify exposed instances by scanning for standard web service ports, typically HTTPS on port 443.
Once identified, the attacker transmits a crafted HTTP GET request directly to the vulnerable administrative endpoints. Because the endpoint does not challenge the client, the application processes the action and responds with data, which may include user accounts, system configuration databases, and active session tokens.
The retrieved information allows the attacker to compromise associated sessions or construct local administrative profiles within the ISE system.
Successful exploitation of CVE-2026-76460 enables unauthenticated remote code execution equivalent access over the Cisco ISE administrative system. Attackers gain the ability to manipulate internal database assets, modify network security policies, and deploy unauthorized access roles.
The vulnerability facilitates lateral movement within the enterprise environment. By controlling Cisco ISE, the attacker can authorize unauthorized network connections and compromise domain services linked to the identity infrastructure.
The maximum CVSS score of 10.0 reflects the low attack complexity, lack of privilege requirements, and severe potential consequences on the confidentiality, integrity, and availability of critical network assets.
There are no temporary workarounds that address this vulnerability. Organizations must apply official patches issued by Cisco to resolve the underlying logical routing flaws on affected nodes.
To detect potential exploitation attempts, security personnel should audit administrative web server logs. Analyze the logs for successful HTTP 200 OK responses on /api/management/ paths that do not possess associated Authorization headers or valid session cookies.
Additionally, restrict network-level administrative access to Cisco ISE consoles, exposing them only to trusted subnet ranges and internal management VPNs.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H| Product | Affected Versions | Fixed Version |
|---|---|---|
Cisco Identity Services Engine (ISE) Software Cisco | 3.1.0 <= Patch 11 | 3.1.0 Patch 12 |
Cisco Identity Services Engine (ISE) Software Cisco | 3.2.0 <= Patch 10 | 3.2.0 Patch 11 |
Cisco Identity Services Engine (ISE) Software Cisco | 3.3.0 <= Patch 11 | 3.3.0 Patch 12 |
Cisco Identity Services Engine (ISE) Software Cisco | 3.4.0 <= Patch 6 | 3.4.0 Patch 7 |
Cisco Identity Services Engine (ISE) Software Cisco | 3.5.0 <= Patch 3 | 3.5.0 Patch 4 |
| Attribute | Detail |
|---|---|
| CWE ID | CWE-648 |
| Attack Vector | Network |
| CVSS Severity | 10.0 (Critical) |
| EPSS Score | 0.14026 |
| Exploit Status | Active Exploitation in the Wild |
| CISA KEV Status | Listed |
The application exposes administrative or privileged capabilities through its API endpoint interface without properly verifying that the calling entity possesses valid credentials.
A vulnerability in the scim-patch library allows authenticated users to pollute the global JavaScript execution environment. By transmitting a SCIM PATCH operation targeting inherited built-in methods, such as toString, valueOf, or hasOwnProperty, attackers bypass blocklist filters and mutate global prototype objects. This flaw occurs due to the library relying on standard prototype lookup and the 'in' operator during path-resolution and assignment, resolving to shared native functions instead of treating them as missing own-properties.
An OS command injection vulnerability in the grep_search tool of the code-ollama package allows remote code execution. This vulnerability is triggered when a local client executes the CLI against a malicious or compromised Ollama server. Due to grep_search being classified as a read-only tool, the CLI executes it automatically in Plan mode without human-in-the-loop validation, leading to zero-interaction local system compromise.
containerd is an open-source container runtime. Prior to versions 1.7.36, 2.0.13, 2.2.9, 2.3.6, and 2.4.1, a crafted OCI index graph can force very high CPU/memory usage during PullImage (before container start), causing long ContainerCreating stalls and, at larger sizes, node/runtime instability. The vulnerability occurs because containerd's image-pull descriptor graph resolution handlers processed OCI image indices and manifests recursively without enforcing boundaries on traversal depth or breadth, and without maintaining a global visited registry to count duplicate references.
An unauthenticated path traversal vulnerability exists in the Khoj AI assistant platform via the static file serving endpoint `/home/{file_path:path}`. Due to improper path sanitization when handling user input with Python's pathlib module, a remote attacker can read arbitrary files from the server's filesystem.
An argument injection vulnerability (CWE-88) in CliInvoke and AlastairLundy.CliInvoke allows local attackers to execute arbitrary system commands. By injecting double-quote characters into target file paths or arguments, attackers can terminate operating-system-level quoted boundaries and introduce new commands when shell runners are utilized.
An OS command injection vulnerability exists in the PowerShell and Cmd shell wrappers of the CliInvoke .NET library (specifically the CliInvoke.Specializations package). Under vulnerable configurations, arguments and targets are passed as a single flat string to ProcessStartInfo.Arguments, permitting double-quote breakout and execution of arbitrary secondary commands with host process privileges.