(9.9分)CVE-2026-100740:D-Link路由器越界写入可远程打崩

admin 2026-09-28 04:51:52 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文分析D-LinkDIR-895L路由器CVE-2026-100740漏洞,该漏洞为L2TP协议处理中的越界写入问题,CVSS评分9.9,远程无认证可触发,PoC已公开且无官方补丁。文章详述漏洞成因、攻击路径、检测方法及修复建议,并给出红队利用视角,强调前置条件较苛刻但破坏力强,建议关闭L2TP功能或限制UDP1701端口访问。 综合评分: 90 文章分类: 漏洞分析,应急响应,红队,安全工具


(9.9分) CVE-2026-100740:D-Link路由器越界写入可远程打崩

红队安全圈 红队安全圈

红队安全圈

2026年9月27日 20:00 重庆

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

一行 peer_hostname[len+1]=0,让 CVSS 9.9 的越界写落在 128 字节缓冲区外——远程、无认证,PoC 已公开,补丁未出。

01  漏洞速览

漏洞编号CVE-2026-100740

影响产品D-Link DIR-895L A1_102b07

漏洞类型越界写入 (CWE-787)

危害等级CVSS 9.9 Critical

攻击向量远程 / UDP 1701 / 无需认证

公开 PoC已公开 (GitHub)

官方修复暂无补丁

攻击前提是设备 WAN 配置为 L2TP/L2TPv6,且攻击者能控制或伪造上游 L2TP 对端。条件成立时,一个精心构造的 Host Name AVP 就能在隧道建立阶段触发内存破坏,轻则打崩设备,重则为进一步利用铺路。

02  漏洞成因

问题出在 L2TP 控制信道解析器的 tunnel_set_params() 函数 (tunnel.c),处理 Host Name AVP 的逻辑如下:

case AVP_HOST_NAME:

  if (len >= MAX_HOSTNAME)

    len = MAX_HOSTNAME-1;

  memcpy(tunnel->peer_hostname,

         val, len);

  // 写错了位置: 应为 [len]

  tunnel->peer_hostname[len+1]=0;

  break;

目标缓冲区是 128 字节的固定数组:

define MAX_HOSTNAME 128

char peer_hostname[MAX_HOSTNAME];

意图很清楚:Host Name AVP 从 L2TP 控制数据报里解析出来,长度先截断到 127,再拷贝进缓冲区。但写终止符那行落笔 [len+1]——当有效长度恰好为 127,memcpy 填满 0 到 126,终止符正好落在下标 128,越过缓冲区最后一个合法字节。

这就是最经典的一字节越界写:单看只破坏相邻一个字节,但隧道对象里这个 NUL 后面挨着什么,决定了能砸出多大坑——轻则进程崩溃、隧道断连,重则覆盖相邻结构体字段做进一步利用。同一份 GPL 包里,IPv4 和 IPv6 两套 L2TP 解析器都有完全相同的逻辑,等于一份代码两份坑。

// GPL 包关键位置

pppd.alpha/l2tp/l2tp.h:21

  // 缓冲区大小定义

pppd.alpha/l2tp/tunnel.c:595

  // IPv4 解析入口

pppd.alpha/l2tp/tunnel.c:682-685

  // IPv4 溢出点

pppd.alpha/l2tp_ipv6/

  tunnel.c:688-691

  // IPv6 溢出点

03  攻击路径与前提

第一步,目标 DIR-895L 的 WAN 连接方式配成 L2TP 或 L2TPv6。国内少见,但欧美不少 ISP 用 L2TP 拨号,这类设备正是这个场景。

第二步,攻击者控制上游 L2TP 服务器,或在链路上伪造、中间人合法对端——被攻陷的 ISP 上游、恶意热点、路由劫持都算。

第三步,隧道建立阶段,一个结构合法的控制数据报送达 tunnel_set_params(),报文里带一个有效长度恰为 127 字节的 Host Name AVP。

恶意对端的控制包只需要三个要素:合法的 Assigned Tunnel ID AVP、合法的 Protocol Version AVP、有效长度变为 127 的 Host Name AVP。溢出就发生在 [len+1]=0 这一行。

04  公开 PoC

GitHub 已有现成 PoC (murrez/CVE-2026-100740,源自 PoCbit 目录),Python 3 实现,能力分三档:HTTP 指纹识别设备型号和固件、探测 UDP 1701 可达性、可选发送触发包 (–oob-send,仅限授权实验室,可能直接打崩路由器)。它不带完整 RCE 链,定位是检测加验证。

pip install -r requirements.txt

python poc.py -u 192.168.0.1 \

  –mode check

python poc.py -u 192.168.0.1 \

  –mode check –l2tp-probe

python poc.py -u 192.168.0.1 \

  –mode exploit –oob-send

python poc.py –list t.txt \

  –mode check -j 20

05  检测与排查

固件指纹:管理页或 GPL 标识中出现 A1_102b07 字样即命中受影响固件。

端口暴露:对外开放 UDP 1701 且 WAN 走 L2TP 拨号的 DIR-895L 是高危组合,优先处置。

网络侧:监控发往 UDP 1701 的异常 L2TP 控制报文——超长 Host Name AVP、畸形报文、异常会话模式。

主机侧:L2TP 服务崩溃、设备意外重启、隧道反复建立失败,都要当内存破坏迹象排查。

测绘侧:Shodan 可用 “D-Link DIR-895L” 配合 port:1701 快速摸清暴露面。

06  修复与缓解

官方补丁发布前,围绕关闭攻击面做文章:不需要 L2TP 的直接关掉 L2TP/L2TPv6 WAN 功能,风险归零;必须用的,防火墙把 UDP 1701 严格限制到可信对端 IP,杜绝 WAN 侧裸奔。

上联 IPS/IDS 开 L2TP 深度检测拦截畸形控制报文;把易感设备隔离进独立 VLAN,压缩被打后横向移动的空间;盯紧 D-Link 官方通告,补丁放出后尽快升级。

修复本身一行就能改对:把 [len+1]=0 改成 [len]=0,拷贝前初始化缓冲区,IPv4 和 IPv6 两套解析器同步修。

07  红队视角

先泼冷水:这个洞的利用前置条件比 CVSS 9.9 看起来苛刻得多。它不是暴露一个 HTTP 接口就能打的服务,而是要求目标 WAN 走 L2TP 且你能站在它的上游路径上——内网渗透里基本碰不到,价值在中间人位置和供应链、上游场景。

但反过来,在红队评估里它是极佳的路径劫持素材:拿下 ISP 侧设备、架设恶意 L2TP 服务器配合 DHCP 或路由欺骗,下游所有 L2TP 拨号路由器就会主动把控制报文送上门。9.9 分反映的是条件成立后的破坏上限——无认证、远程、内存破坏,这种组合在嵌入式设备上往往离稳定 RCE 只差一步堆布局调试。

打点前先指纹:借鉴 PoC 的 HTTP 指纹模式,几行正则扒 A1_102b07 字样就能批量筛目标,不要盲目发 UDP 包惊动防守方。

探测先于触发:先用 l2tp-probe 确认 1701 可达、隧道角色成立,再决定是否上 –oob-send——一击必崩的包只有一次机会。

横向关联:DIR 系列的 L2TP/udhcpcd 栈今年已连续出多个内存破坏洞——DIR-822A 的 L2TP 越界写、DIR-895L 的 udhcpcd 栈溢出,同一套老旧 pppd.alpha 代码反复出事。遇到 D-Link 设备优先怀疑这套 GPL 代码的质量,顺手审一遍同类解析函数经常有意外收获。

防守方重点不是等补丁,而是排查全网还有多少设备 WAN 走 L2TP——这个数往往比想象的多。同源研究确认凡构建自同款 GPL 代码的固件大概率一并中招,不止 102b07 一个版本号,排查时别只盯着这个串。

08  POC 链接

https://github.com/murrez/CVE-2026-100740

https://pocbit.org/pocs/cve-2026-100740

https://nvd.nist.gov/vuln/detail/CVE-2026-100740

说明:GitHub PoC 含设备指纹/端口探测/触发包三档能力,仅限授权环境使用;–oob-send 可能直接打崩设备。

如果文章对您有收获,欢迎关注、点赞、推荐、转发。

— END —


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。

本文转载自:红队安全圈 红队安全圈 红队安全圈《(9.9分) CVE-2026-100740:D-Link路由器越界写入可远程打崩》

大反转!确认系AI生成 网络安全文章

大反转!确认系AI生成

文章总结: 该文档报道了一起AI合成虚假图片引发社会恐慌的事件。有人用AI工具制作棕熊出现在街道的虚假图片并在网络传播,引发当地群众恐慌。警方通过技术甄别确认图
评论:0   参与:  0