Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-39042

CVE-2026-39042: MikroTik RouterOS DoS Vulnerability

CVE-2026-39042 is a denial of service vulnerability in MikroTik RouterOS affecting versions 7.21.x and 7.22.x. Attackers can exploit the unflatten() function to crash systems. This article covers technical details, affected versions, impact, and mitigation strategies.

Published:

CVE-2026-39042 Overview

CVE-2026-39042 is an integer overflow vulnerability [CWE-190] in MikroTik RouterOS affecting the unflatten() function within libumsg.so, the core inter-process communication (IPC) library. A remote unauthenticated attacker can trigger a denial of service (DoS) condition on affected routers by sending crafted input that overflows integer arithmetic during message deserialization.

The flaw impacts RouterOS 7.21.x prior to 7.22.2 and 7.22.x prior to 7.22.2, released by SIA Mikrotikls (Latvia). Because RouterOS powers a large installed base of edge routers and network appliances, successful exploitation can disrupt routing, VPN, and firewall services across affected networks.

Critical Impact

Remote, network-based denial of service against MikroTik RouterOS devices without authentication or user interaction.

Affected Products

  • MikroTik RouterOS 7.21.x versions prior to 7.21.4
  • MikroTik RouterOS 7.22.x versions prior to 7.22.2
  • Devices using the libumsg.so IPC library on affected RouterOS builds

Discovery Timeline

  • 2026-07-13 - CVE-2026-39042 published to NVD
  • 2026-07-15 - Last updated in NVD database

Technical Details for CVE-2026-39042

Vulnerability Analysis

The vulnerability resides in the unflatten() function of libumsg.so, MikroTik's core IPC message library used across RouterOS services. The unflatten() routine reconstructs serialized message structures received over IPC channels. During this reconstruction, size or length values derived from attacker-supplied input are used in arithmetic operations without adequate bounds validation.

When these values are multiplied or added, the result wraps around the maximum integer boundary. The undersized allocation or miscalculated offset that follows leads to memory corruption or an invalid access, which crashes the parsing process. Because libumsg.so is loaded by privileged RouterOS services exposed to the network stack, the crash halts service availability. Additional technical background is available in the Zak Patrik blog on the integer overflow.

Root Cause

The root cause is missing validation of untrusted length or count fields consumed by unflatten() before they participate in size calculations. This is a classic integer overflow pattern [CWE-190], where the deserializer trusts attacker-controlled metadata to size buffers or iterate structures.

Attack Vector

Exploitation is network-based and requires no authentication or user interaction. An attacker sends a crafted IPC message to a RouterOS service that invokes unflatten() on the payload. The triggered overflow crashes the handling process, producing a denial of service. Since no verified public exploit code is available, defenders should reference the linked research and the MikroTik security support page for further detail.

Detection Methods for CVE-2026-39042

Indicators of Compromise

  • Unexpected restarts or crash logs from RouterOS services that consume IPC messages via libumsg.so
  • Loss of management-plane connectivity (Winbox, API, SSH) coinciding with anomalous inbound traffic
  • Repeated malformed packets targeting RouterOS management or service ports from external sources

Detection Strategies

  • Inspect RouterOS logs (/log print) for repeated process termination or watchdog-initiated reboots
  • Monitor SNMP or streaming telemetry for abrupt drops in interface, BGP, or OSPF session availability on MikroTik devices
  • Correlate device unavailability events with perimeter firewall logs to identify inbound traffic patterns preceding the crash

Monitoring Recommendations

  • Alert on RouterOS device unreachability lasting longer than baseline reboot windows
  • Baseline the volume and source distribution of traffic to MikroTik management interfaces and flag deviations
  • Forward RouterOS syslog to a central SIEM to retain crash context that local storage may overwrite after reboot

How to Mitigate CVE-2026-39042

Immediate Actions Required

  • Upgrade RouterOS 7.21.x devices to 7.21.4 or later, and 7.22.x devices to 7.22.2 or later
  • Restrict access to RouterOS management and service ports to trusted administrative networks only
  • Enable RouterOS firewall rules that drop unsolicited traffic to IPC-handling services from the WAN

Patch Information

MikroTik has released fixed RouterOS builds 7.21.4 and 7.22.2 that address the integer overflow in unflatten(). Refer to the MikroTik security support page for release notes and download links. Upgrade both primary and standby units in high-availability deployments to prevent failover to a vulnerable peer.

Workarounds

  • Apply input filtering at upstream firewalls to block untrusted sources from reaching RouterOS management interfaces
  • Disable unused RouterOS services that expose IPC-backed listeners to reduce attack surface
  • Use RouterOS /ip firewall filter rules to permit management access only from allowlisted administrative IP ranges
bash
# Configuration example - restrict management access on RouterOS
/ip firewall filter add chain=input action=accept src-address-list=admin-allow
/ip firewall filter add chain=input action=drop in-interface-list=WAN
/ip firewall address-list add list=admin-allow address=203.0.113.0/24

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.