Security1 publisher2 min readPublished
Two chained N-central bugs hand an unauthenticated caller a System administrator account
Rapid7 found CVE-2026-86206 and CVE-2026-86207 while pulling on an earlier N-central bypass, and chained they give a remote caller the top account on the console MSPs use to reach client networks. Hotfix 3 closes both.
The Watch · Security desk

What happened
- Rapid7 chained CVE-2026-86206 and CVE-2026-86207 to bypass authentication on N-able N-central and create an attacker-controlled System administrator account, with no credentials and no local access.
- The pair surfaced while Rapid7 Labs was researching CVE-2026-18577, an earlier N-central authentication bypass, and they affected the latest version of the product at the time.
- N-able has patched both vulnerabilities in N-central 2026.3 Hotfix 3, which was available when Rapid7 published the analysis.
Compiled by The WatchSomething wrong?How this is made
Why it matters
- exposure The real target is the console itself: whoever holds a System administrator account on an MSP's N-central holds the console that reaches every managed network behind it.
- constraint Proxy path-prefix rules cannot carry the authorization decision on this stack, because the component that enforces them and the component that dispatches the request read the same URI differently.
- decision Verification has to be done at hotfix level rather than by version inventory, which is slower for anyone whose asset records stop at the release number.
- precedent With a second bypass disclosed against the same product and the Envoy-to-Jetty parsing seam now public, further work on that seam is the likely next source of N-central findings.
The trust model does the damage. N-central gives requests that appear to come from 127.0.0.1 more access than remote ones, and that judgement is made independently by three components that each parse the same request: Envoy at the edge, Jetty behind it, and N-central's own access filter [7]. Rapid7's request breaks the agreement in two places at once, with a semicolon in the URI and a backslash inside the Forwarded header value [8][9].
The path half is documented end to end. Envoy's management listener, shipped in the n-central-proxy-4.5.6-5 package, answers 403 to anything beginning /dms/services or /internal/dms and sends everything else to the DMS cluster on a catch-all rule [10]. The string /dms;/services/ServerUI does not begin with /dms/services, because the character after /dms is a semicolon, so it takes the catch-all and reaches Jetty [11]. Jetty 9.4.56 then treats text beginning with a semicolon as a path parameter and removes it when it builds the decoded path for servlet dispatch, yielding /dms/services/ServerUI [12], which matches the Axis SOAP servlet mapping [13]. Rapid7 shows the same move against the second mapping as /internal;/dms/services2/ServerUI2 [14]. Both denylisted prefixes in the published config fall to one character [15].
The published analysis shows less than it claims. The technical detail available covers CVE-2026-86206; the role of CVE-2026-86207 and the mechanics of creating the account are given as the outcome of the chain rather than walked through [18]. Rapid7 attributes the second disagreement, over whether the client is really local, to the escaped Forwarded value [9]. There is no claim of exploitation in the wild, no CVSS score, and no disclosure dates [17]. The credited researcher is Stephen Fewer of Rapid7 [5].
For defenders the durable artefact is the string. A legitimate client has no reason to request a path with a semicolon immediately after /dms or /internal on the management interface, TCP 8443 by default [6], so those requests in proxy logs stand out as a clear signature [19].
The remediation is a hotfix under a release name that does not change, so a server reporting 2026.3 tells an operator nothing about whether it is exploitable [21]. On an N-central short of Hotfix 3, the account list is where the chain leaves its mark: a System administrator nobody in the shop created [2][3].
What to watch
- Publication of the CVE-2026-86207 mechanism and the account-creation steps, which the current analysis states but does not walk through.
- Any public exploit code or first report of the chain being used against an internet-facing N-central on 8443.
- Whether N-able ships the fix to release lines below 2026.3, or whether operators on older branches have to move release first.