CVE-2026-86218

N-able N-central Pre-Authentication Static Code Injection RCE (CVE-2026-86218)

Initial Access Execution Last updated:

Detects exploitation of CVE-2026-86218, a pre-authentication remote code execution vulnerability in N-able N-central caused by static code injection (CWE-96) where attacker-controlled input is evaluated as code by the N-central server. Listed in CISA KEV. This detection looks for anomalous unauthenticated requests to N-central web endpoints followed by child-process spawns from the N-central application/Apache/Java service accounts, injected payload markers in HTTP request bodies, and web-server processes launching shells or interpreters — the hallmarks of code-injection RCE against an Internet-exposed RMM server.

Vulnerability Intelligence

KEV — Known Exploited

What is CVE-2026-86218 N-able N-central Pre-Authentication Static Code Injection RCE (CVE-2026-86218)?

N-able N-central Pre-Authentication Static Code Injection RCE (CVE-2026-86218) (CVE-2026-86218) maps to the Initial Access and Execution tactics — the adversary is trying to get into your network in MITRE ATT&CK.

This page provides production-ready detection logic for N-able N-central Pre-Authentication Static Code Injection RCE (CVE-2026-86218), covering the data sources and telemetry it touches: Microsoft Defender for Endpoint, DeviceProcessEvents, DeviceNetworkEvents. The queries below are rated critical severity at medium confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.

MITRE ATT&CK

Tactic
Initial Access Execution
Microsoft Sentinel / Defender
kusto
let ncentralHosts = dynamic([]);
union isfuzzy=true
(
DeviceProcessEvents
| where InitiatingProcessFileName in~ ("java.exe","java","httpd","httpd.exe","apache2","nginx","tomcat9.exe","catalina.sh","w3wp.exe")
| where FileName in~ ("cmd.exe","powershell.exe","pwsh.exe","bash","sh","dash","python","python3","perl","nc","ncat","curl","wget","whoami","id")
| project Timestamp, DeviceName, AccountName, InitiatingProcessFileName, InitiatingProcessAccountName, FileName, ProcessCommandLine, InitiatingProcessCommandLine
),
(
DeviceNetworkEvents
| where InitiatingProcessFileName in~ ("java.exe","java","httpd","apache2","tomcat9.exe")
| where RemotePort in (4444,1337,9001,53,80,443) and ActionType == "ConnectionSuccess"
| project Timestamp, DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName, InitiatingProcessCommandLine
)
| sort by Timestamp desc

Surfaces N-central server (Java/Tomcat/Apache) processes spawning shells, interpreters, or network tooling — indicative of static-code-injection RCE — plus outbound connections from the app service to common reverse-shell ports.

critical severity medium confidence

Data Sources

Microsoft Defender for Endpoint DeviceProcessEvents DeviceNetworkEvents

Required Tables

DeviceProcessEvents DeviceNetworkEvents

False Positives

  • Legitimate N-central maintenance or patch scripts that shell out from the Java service account during upgrades
  • Administrator-run diagnostic commands executed on the N-central appliance
  • Backup or monitoring agents that spawn shells from web-tier processes

Sigma rule & cross-platform mapping

The detection logic for N-able N-central Pre-Authentication Static Code Injection RCE (CVE-2026-86218) (CVE-2026-86218) above is provided in a vendor-neutral form so you can deploy it on any SIEM. The same logic is shipped here as native KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the following logsource:

logsource:
  category: process_creation
  product: windows

Browse the community-maintained Sigma rules for this technique:


Testing Methodology

Validate this detection against 3 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Simulate Java app-tier spawning a shell (Linux)

    Expected signal: Process-creation event with parent named 'java' spawning /bin/bash executing id/whoami.

  2. Test 2Simulate web-tier reverse-shell attempt (Linux)

    Expected signal: Network-connection event from a tomcat-named process to port 4444.

  3. Test 3Simulate Tomcat spawning PowerShell (Windows)

    Expected signal: ProcessRollup2/Sysmon EventID 1 showing tomcat9.exe parent launching powershell.exe running whoami.


Response Playbook

Triage

  1. Confirm the N-central version and hotfix level on the affected appliance; determine whether it is patched to 2026.3 Hotfix 4 or later per the N-able advisory for CVE-2026-86218.
  2. Determine whether the N-central web interface is Internet-exposed and review web-server/reverse-proxy logs for anomalous unauthenticated POST requests immediately preceding the flagged child-process spawn.
  3. Correlate the parent Java/Tomcat/Apache process and its spawned child (shell/interpreter/LOLBin), capturing full command lines, executing user, and timestamps to establish whether execution was operator-driven or injected.
  4. Check for new or modified files (webshells, cron entries, systemd units) written by the N-central service account around the event time.

Containment

  1. Isolate the N-central appliance from the network (or restrict inbound to management IPs only) to halt further pre-auth exploitation and any active reverse shell.
  2. Apply N-able N-central 2026.3 Hotfix 4 (or the vendor-directed fixed release) addressing CVE-2026-86218; if patching must wait, place the web interface behind VPN/allow-list access.
  3. Rotate N-central service credentials, agent registration tokens, and any managed-endpoint secrets reachable from the compromised RMM server.

Evidence Collection

  1. Preserve web-server/reverse-proxy access and error logs, the Tomcat/Java application logs, and auditd/Sysmon process-creation records covering the exploitation window.
  2. Capture a forensic image or at minimum the process memory of the running Java service and copies of any dropped payloads/webshells before remediation.
  3. Export EDR process-tree and network-connection telemetry for the parent app process and all descendant processes.

Escalation Criteria

  • ! Escalate to incident response if a child shell, reverse-shell connection, dropped webshell, or persistence artifact is confirmed on the appliance.
  • ! Escalate to major-incident/customer-notification if the compromised N-central server pushed commands or scripts to downstream managed endpoints, indicating supply-chain-style spread through the RMM.

Investigation Guide

Forensic Artifacts

  • > Tomcat/Java application and web-server access logs showing the malicious unauthenticated request
  • > Process-creation records (auditd/Sysmon/EDR) linking the app-tier parent to shell children
  • > Newly written files in N-central web directories or service-account-owned paths (potential webshells)
  • > Outbound connection logs from the Java service to attacker infrastructure

Tuning Guidance

Baseline the legitimate shell/helper invocations produced by N-central's own upgrade and maintenance routines from the service account, then exclude those specific parent-child command-line patterns. Restrict the parent-process list to the actual JVM/web binaries on your appliance and scope by the known N-central host(s) to cut noise. Alert with high urgency when the child process is an interactive shell, network utility, or connects outbound to an uncommon port shortly after an unauthenticated web request.


Hunting Queries

Hunt for N-central application-tier processes spawning shells or download utilities across the estate, grouped by host and account.

Hunting — KQL
kql
DeviceProcessEvents | where InitiatingProcessFileName in~ ("java","java.exe","httpd","apache2","tomcat9.exe") | where FileName in~ ("sh","bash","cmd.exe","powershell.exe","python","python3","curl","wget","nc","whoami") | summarize count() by DeviceName, InitiatingProcessAccountName, FileName, ProcessCommandLine, bin(Timestamp, 1h)
Hunting — SPL
spl
index=* (sourcetype=linux:audit OR sourcetype=Sysmon) | eval p=lower(coalesce(parent_process_name,ParentImage)), c=lower(coalesce(process_name,Image)) | where (like(p,"%java%") OR like(p,"%tomcat%") OR like(p,"%apache2%")) AND (like(c,"%sh") OR like(c,"%python%") OR like(c,"%curl%") OR like(c,"%wget%")) | stats count by host,user,c

Atomic Red Team Tests

Test 1 Simulate Java app-tier spawning a shell (Linux)
linux

Emulates an N-central Java/Tomcat process spawning a shell as would occur after static code injection, generating parent-child process telemetry.

Command

bash
cp /usr/bin/sleep /tmp/java && /tmp/java 1 & sleep 0.2; /bin/bash -c 'id; whoami' 

Cleanup

bash
rm -f /tmp/java

Expected Telemetry

Process-creation event with parent named 'java' spawning /bin/bash executing id/whoami.

Expected Detection

The KQL/SPL/EQL rules match a java parent spawning bash running whoami/id.

Test 2 Simulate web-tier reverse-shell attempt (Linux)
linux

Emulates an injected payload opening an outbound connection from the app tier to a listener on a common reverse-shell port.

Command

bash
cp /usr/bin/bash /tmp/tomcat 2>/dev/null; /tmp/tomcat -c 'exec 3<>/dev/tcp/127.0.0.1/4444; echo test >&3' 2>/dev/null || true

Cleanup

bash
rm -f /tmp/tomcat

Expected Telemetry

Network-connection event from a tomcat-named process to port 4444.

Expected Detection

DeviceNetworkEvents / SPL network stanza flags app-tier process connecting to reverse-shell port 4444.

Test 3 Simulate Tomcat spawning PowerShell (Windows)
windows

Emulates a Windows-hosted N-central web process launching PowerShell to run reconnaissance, as after code-injection RCE.

Command

powershell
copy C:\Windows\System32\cmd.exe %TEMP%\tomcat9.exe >nul & %TEMP%\tomcat9.exe /c "powershell -Command whoami"

Cleanup

powershell
del %TEMP%\tomcat9.exe

Expected Telemetry

ProcessRollup2/Sysmon EventID 1 showing tomcat9.exe parent launching powershell.exe running whoami.

Expected Detection

KQL, CQL, and EQL rules match a tomcat/w3wp parent spawning powershell/cmd.

Related Detections