Someone left a master key mold in the lock — and burglars are already copying it across 100K+ front doors
CVE-2026-86060 is an argument-injection flaw (CWE-88) in the MikroTik RouterOS SSH login helper. When a username begins with a specific prohibited character (the dash -), the login helper passes it unsanitized to an internal command-line utility. The attacker-controlled string manipulates the trusted RouterOS policy mask for the SSH session, escalating to full administrative privileges — no valid credentials required. Affected versions span RouterOS 6.0.0 through 6.49.20, 7.0.0 through 7.23.3, and 7.24 through 7.24.1. Fixed in 6.49.21, 7.23.4, and 7.24.2. When chained with CVE-2026-67276 (SSH authentication bypass via RSA exponent-one forgery, CVSS 9.2), the pair — dubbed MikroTrick by CERT Polska — delivers unauthenticated full admin on any RouterOS device with SSH reachable.
There is no vendor CVSS for CVE-2026-86060 specifically. MikroTik's release notes mentioned only an 'important security update' with zero detail — researchers reverse-engineered the patches using AI diffing and identified six bugs including two critical ones. The absence of a vendor score understates the danger. This is a pre-authentication privilege escalation on a network edge appliance with a public PoC, active in-the-wild exploitation since September 2 (one day *before* patches dropped), and 122,000–300,000 SSH-exposed devices visible to Shadowserver and Shodan. The reality is unambiguously CRITICAL.
5 steps from start to impact.
Identify SSH-exposed RouterOS device
- RouterOS device has SSH service listening on a public-facing interface
- Devices behind a carrier-grade NAT or firewall with SSH disabled are unreachable
- Some ISPs filter port 22 outbound
Forge SSH authentication (CVE-2026-67276)
- Target device has at least one user with an RSA public key configured for SSH (common default)
- CVE-2026-67276 is unpatched
- Devices using password-only SSH auth (no RSA keys configured) require a different entry path — but CVE-2026-86060 alone can still escalate at the login prompt
- Devices running patched firmware (>=6.49.21, >=7.23.4, >=7.24.2) are immune
login failure for user -2 from via ssh is the canonical IOCInject crafted username for policy mask escalation (CVE-2026-86060)
-2) to the SSH login helper. The login helper passes the username unsanitized to an internal CLI utility, which interprets the leading dash as an argument flag. This manipulates the trusted RouterOS policy mask for the session, granting the attacker full administrative privileges — bypassing any role restrictions the authenticated user had.- SSH session established (via CVE-2026-67276 or any other means)
- CVE-2026-86060 is unpatched
- None — the injection is trivial once SSH is reachable. The PoC is public and weaponized.
ssh:-2@ entries in system log; new unauthorized admin account (commonly named ops)Establish persistent admin access
ops), installs SSH keys for persistence, and may modify firewall rules to maintain access while blocking competing attackers. The attacker now owns the network edge device.- Full admin session from step 3
- None at this stage — the attacker has unrestricted RouterOS admin
Pivot into internal network
- Router has routes/interfaces to internal networks (nearly universal)
- Internal network segmentation and east-west monitoring may limit blast radius post-pivot
The supporting signals.
| In-the-Wild Exploitation | CONFIRMED ACTIVE since September 2, 2026 — one day *before* MikroTik released patches on September 3. CERT Polska identified two attacker IPs: 82.192.72.4 and 103.102.31.18. Campaign creates admin account ops on compromised devices. |
|---|---|
| Proof of Concept | Public. The MikroTrick PoC was disclosed alongside the CERT Polska advisory. Researchers reverse-engineered the patch diff using AI tooling. Exploit code indexed on Sploitus. |
| EPSS Score | 0.00401 (low, but EPSS lags active exploitation — this score will rise sharply) |
| KEV Status | Not yet listed as of 2026-09-08. Given confirmed active exploitation, KEV addition is expected imminently. |
| CVSS Vector (estimated) | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H — network-adjacent, no privileges required when chained with CVE-2026-67276, no user interaction, full CIA impact. Estimated base ~9.8 for the chain; ~8.8 standalone (PR:L). |
| Affected Versions | RouterOS 6.0.0–6.49.20, 7.0.0–7.23.3, 7.24–7.24.1. Essentially every RouterOS version shipped in the last decade. |
| Fixed Versions | 6.49.21 (Long-term), 7.23.4 (Long-term), 7.24.2 (Stable), 7.25beta3 (Development) |
| Exposure Data | Shadowserver: 122,500+ MikroTik devices with SSH exposed (24h scan, 2026-09-05). Other estimates via Shodan reach ~300,000. MikroTik's total installed base is estimated at several million devices worldwide. |
| Disclosure Timeline | 2026-09-02: exploitation observed in the wild. 2026-09-03: MikroTik releases patches (silent fix). 2026-09-05: CERT Polska publishes advisory naming MikroTrick and six CVEs. 2026-09-07: Help Net Security and others report widespread exploitation. |
| Reporting Researcher | CERT Polska (own research). Patch diff analysis performed independently by multiple researchers using AI-assisted binary diffing. |
noisgate verdict.
The single most decisive factor is role identity: MikroTik RouterOS is canonically a network edge appliance, and this pre-authentication chain delivers full administrative control over the device to an unauthenticated remote attacker — confirmed actively exploited in the wild with a public PoC and 100K+ exposed devices. Compromise of a network edge device yields traffic interception, VPN pivot into internal networks, and persistent beachhead — fleet-scale blast radius for any organization relying on MikroTik at the perimeter.
Why this verdict
- Pre-auth remote exploitation: When chained with CVE-2026-67276 (the companion RSA exponent-one bypass), CVE-2026-86060 is reachable without any credentials. The attacker needs only TCP connectivity to the SSH port — no passwords, no keys, no user interaction.
- Active exploitation with public PoC: Attacks began September 2, 2026 — before patches were available. The MikroTrick PoC is publicly indexed. This is not theoretical; devices are being compromised right now.
- Massive exposed attack surface: 122,500–300,000 MikroTik devices have SSH exposed to the internet per Shadowserver and Shodan. The affected version range covers essentially every RouterOS release of the last decade.
- Role multiplier: MikroTik RouterOS runs exclusively on network edge devices — routers, firewalls, VPN concentrators, wireless controllers. This is not a workstation bug. 100% of the installed base occupies the high-value network-edge role by definition. Compromise yields: traffic interception, DNS hijacking, credential harvesting via MITM, VPN tunnel creation into internal networks, and persistent beachhead for lateral movement. Blast radius: network-level → potentially domain/fleet-level for organizations using MikroTik as their primary perimeter device. This floors the verdict at CRITICAL per the network edge appliance rule.
- Zero friction in the chain: The argument injection is trivial (send a username starting with
-), the PoC is weaponized, and the chain requires no special conditions beyond SSH reachability. No EDR, no endpoint agent, no host-level control exists on RouterOS to impede exploitation.
Why not higher?
The score is already 9.4. A perfect 10.0 would require zero mitigation options; here, disabling SSH on the WAN interface or applying firewall rules to restrict SSH access immediately neutralizes the attack vector. The chain also requires SSH to be internet-exposed — devices behind a properly configured upstream firewall are not directly reachable.
Why not lower?
Downgrading below CRITICAL is not defensible. The affected component is canonically a network edge appliance (100% of installs are routers/firewalls), the chain is pre-auth and remotely exploitable, exploitation is confirmed active in the wild with a public PoC, and the exposed population exceeds 100,000 devices. There are no friction points that narrow the reachable population below the CRITICAL floor threshold — the only prerequisite (SSH exposed) is met by at least 122,500 devices already.
What to do — in priority order.
- Disable SSH on all WAN/public-facing interfaces immediately — The entire MikroTrick chain requires SSH reachability. Disabling SSH on public interfaces is the single highest-impact mitigation. Use
/ip firewall filter add chain=input in-interface-list=WAN protocol=tcp dst-port=22 action=dropor disable the SSH service entirely if not needed. Deploy within 3 days per noisgate mitigation SLA for CRITICAL. - Restrict SSH access to management VLAN or VPN-only — If SSH must remain enabled, bind it to a management interface and restrict source IPs using firewall rules. Use
/ip service set ssh address=10.0.0.0/24to limit to your management subnet. This eliminates the internet-exposed attack surface. - Audit for IOCs of existing compromise — Check logs for
login failure for user -2 from via sshanduser added by ssh:-2@. Look for unauthorized accounts (especiallyops). Export and diff running config against known-good baseline. Compromised devices should be wiped and reinstalled from clean firmware — do not trust a config restore alone. - Apply firmware update to fixed versions — Update to RouterOS 6.49.21, 7.23.4, or 7.24.2 (or newer). Schedule emergency maintenance windows. For large fleets, use MikroTik's
/system package updateor The Dude for batch deployment. Complete remediation within 90 days per noisgate remediation SLA for CRITICAL. - Enable configuration change alerting — Configure RouterOS to send syslog or SNMP traps on user creation, SSH key addition, and firewall rule changes to your SIEM. This provides detection for post-exploitation persistence even if the initial compromise is missed.
- EDR/endpoint agents — RouterOS runs on proprietary hardware (RouterBOARD) or as a minimal Linux-derived OS with no support for third-party security agents. There is no host-based detection or prevention layer available.
- WAF or IPS signatures — the exploit occurs within an encrypted SSH channel. No network-layer inspection device can see the crafted username payload without terminating the SSH session, which is not feasible for management traffic.
- Password rotation — CVE-2026-67276 bypasses RSA key authentication entirely (exponent-one forgery), and CVE-2026-86060 manipulates the policy mask at the login prompt. Changing passwords does not address either flaw.
- Rate limiting SSH connections — the exploit requires only a single SSH session to succeed. Rate limiting slows brute-force attacks but does not prevent a single crafted login attempt.
Crowdsourced verification payload.
Run this script from any Linux/macOS workstation that can reach the target MikroTik device's SSH port. Usage: bash check_mikrotik_cve2026_86060.sh <router_ip> [port]. Requires ssh client installed. No authentication needed — the script checks the SSH banner to identify RouterOS version.
#!/usr/bin/env bash\n# check_mikrotik_cve2026_86060.sh — Check MikroTik RouterOS for CVE-2026-86060\n# Usage: bash check_mikrotik_cve2026_86060.sh <host> [port]\n# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN\n\nset -euo pipefail\n\nHOST=\"${1:?Usage: $0 <host> [port]}\"\nPORT=\"${2:-22}\"\n\n# Grab SSH banner (timeout 5s)\nBANNER=$(ssh -o BatchMode=yes -o ConnectTimeout=5 -o StrictHostKeyChecking=no \\\n -p \"$PORT\" \"$HOST\" 2>&1 | head -5 || true)\n\n# Alternative: use nc/ncat for banner grab if ssh client fails\nif [ -z \"$BANNER\" ]; then\n BANNER=$(echo '' | timeout 5 nc -w5 \"$HOST\" \"$PORT\" 2>/dev/null || true)\nfi\n\nif [ -z \"$BANNER\" ]; then\n echo \"UNKNOWN — could not connect to $HOST:$PORT\"\n exit 2\nfi\n\n# Check if it's RouterOS\nif ! echo \"$BANNER\" | grep -qi 'mikrotik\\|routeros\\|ROSSSH'; then\n echo \"UNKNOWN — host does not appear to be MikroTik RouterOS\"\n echo \"Banner: $BANNER\"\n exit 2\nfi\n\necho \"[*] Detected MikroTik RouterOS on $HOST:$PORT\"\necho \"[*] Banner: $BANNER\"\n\n# Try to extract version from banner or use API\n# RouterOS SSH banners typically show version in the banner string\nVERSION=$(echo \"$BANNER\" | grep -oP '[0-9]+\\.[0-9]+\\.?[0-9]*' | head -1)\n\nif [ -z \"$VERSION\" ]; then\n echo \"UNKNOWN — could not extract RouterOS version from banner\"\n echo \"Manual check: connect via WinBox/WebFig and verify version is >= 6.49.21 (v6) or >= 7.23.4 (v7)\"\n exit 2\nfi\n\necho \"[*] Detected version: $VERSION\"\n\n# Parse major.minor.patch\nMAJOR=$(echo \"$VERSION\" | cut -d. -f1)\nMINOR=$(echo \"$VERSION\" | cut -d. -f2)\nPATCH=$(echo \"$VERSION\" | cut -d. -f3)\nPATCH=${PATCH:-0}\n\n# Version comparison\nif [ \"$MAJOR\" -eq 6 ]; then\n if [ \"$MINOR\" -lt 49 ] || ([ \"$MINOR\" -eq 49 ] && [ \"$PATCH\" -lt 21 ]); then\n echo \"VULNERABLE — RouterOS $VERSION is affected (fixed in 6.49.21)\"\n exit 1\n else\n echo \"PATCHED — RouterOS $VERSION is >= 6.49.21\"\n exit 0\n fi\nelif [ \"$MAJOR\" -eq 7 ]; then\n if [ \"$MINOR\" -eq 24 ]; then\n if [ \"$PATCH\" -lt 2 ]; then\n echo \"VULNERABLE — RouterOS $VERSION is affected (fixed in 7.24.2)\"\n exit 1\n else\n echo \"PATCHED — RouterOS $VERSION is >= 7.24.2\"\n exit 0\n fi\n elif [ \"$MINOR\" -lt 23 ] || ([ \"$MINOR\" -eq 23 ] && [ \"$PATCH\" -lt 4 ]); then\n echo \"VULNERABLE — RouterOS $VERSION is affected (fixed in 7.23.4)\"\n exit 1\n else\n echo \"PATCHED — RouterOS $VERSION is >= 7.23.4\"\n exit 0\n fi\nelse\n echo \"UNKNOWN — unexpected major version $MAJOR\"\n exit 2\nfiIf you remember one thing.
ops), log entries mentioning user -2, and unexpected firewall or config changes — any compromised device must be wiped and rebuilt from clean firmware. (3) Begin firmware upgrades to 6.49.21 / 7.23.4 / 7.24.2 across your fleet under the noisgate remediation SLA for CRITICAL (≤90 days), prioritizing internet-facing and site-to-site VPN devices first. If you have MikroTik at your perimeter, assume you are a target *right now*.Sources
- CERT Polska Advisory — MikroTik RouterOS CVEs
- Help Net Security — Hackers exploit RouterOS flaws to hijack MikroTik devices
- The Hacker News — Attackers Hijack MikroTik Routers Through Exposed SSH
- SOCPrime — CVE-2026-67276 MikroTik RouterOS SSH Zero-Day
- SecurityOnline — MikroTrick PoC: RouterOS Admin Rights Exploited In Wild
- GovInfoSecurity — MikroTik Issues Patches for Routers Amid Zero-Day Attacks
- Sploitus — MikroTrick PoC Exploit
- VulDB — CVE-2026-86060
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.