# OpenWrt ubusd 堆溢出漏洞
### 概述
OpenWrt 是一个面向嵌入式设备的 Linux 操作系统。ubusd 是其中的一个关键组件,用于实现设备内部通信。在版本 24.10.4 之前,ubusd 存在一个堆缓冲区溢出漏洞。
### 影响版本
- OpenWrt < 24.10.4
### 细节
漏洞位于 ubusd 的事件注册解析代码中。攻击者可通过精心构造的订阅消息,触发堆缓冲区溢出,从而修改堆头部信息。此漏洞存在于访问控制列表(ACL)检查之前,因此任何连接到 ubus 的客户端均可发送恶意消息。
此外,该攻击还可绕过“listen”操作的 ACL 控制。
### 影响
- 可能导致堆内存损坏(heap corruption)
- 攻击者可绕过 ACL 限制
- 有执行任意代码的风险(在 ubus 守护进程上下文中)
### 修复情况
该漏洞已在 OpenWrt 版本 24.10.4 中修复,目前无其他临时缓解措施。
是否为 Web 类漏洞: 是
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: [OpenWrt Wiki] Security Advisory 2025-10-22-1 - ubusd: heap buffer overflow (CVE-2025-62526) -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
### 关键信息
#### 漏洞描述
- **漏洞类型**: 堆缓冲区溢出 (Heap Buffer Overflow)
- **影响组件**: ubusd 事件注册解析代码
- **攻击方式**: 攻击者可以修改头部并潜在地在 ubus 守护进程中执行任意代码。
- **受影响的代码**: 在运行 ACL 检查之前执行,所有 ubus 客户端都可以发送此类消息。
- **额外影响**: 精心设计的订阅还会导致绕过监听 ACL。
#### 要求
- ubus 客户端可以利用此问题。
#### 缓解措施
- 升级到 OpenWrt 24.10.4 或更高版本。
- 此问题已在 OpenWrt 24.10.4 及更高版本中修复,包括自 2025 年 10 月 18 日以来的快照构建。旧版 OpenWrt 如 23.05 和 22.03 可能也受影响,但它们已结束生命周期,不再接收任何安全支持。
#### 影响版本
- 所有低于 OpenWrt 24.10.4 的版本。
#### 致谢
- 感谢 Karsten Sperling 来自 Apple 提供报告和 PoC。
#### 参考链接
- [ubus fix](https://github.com/openwrt/ubus/commit/d31efbf4277bd5575ccf16d909422718c1e49d0)
- [fix similar code pattern](https://github.com/openwrt/ubus/commit/aa4a7ee1d3417bc11207ad0a78d579ece7e0c13)
- [fix ACL bypass](https://github.com/openwrt/ubus/commit/60e04048a0e2f3e33851c19e02861a41be4c290f)
- [OpenWrt main branch](https://github.com/openwrt/openwrt/commit/4b907e69ea58fc0ba35fd1755dc4ba22262af3a4)
- [OpenWrt 24.10](https://github.com/openwrt/openwrt/commit/a7901969932a175cded3c93bdeb69f32ed3705e6)
- [Advisory on github](https://github.com/openwrt/openwrt/security/advisories/GHSA-cp32-65v4-cp73)
标题: ubusd: heap buffer overflow · Advisory · openwrt/openwrt · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
### 关键漏洞信息
#### 漏洞概述
- **标题**: ubusd: heap buffer overflow
- **严重性**: 高 (7.9/10)
- **CVE ID**: CVE-2025-62526
#### 影响范围
- **受影响版本**: < 24.10.4
- **修复版本**: 24.10.4
#### 描述与影响
- **描述**: ubusd在事件注册解析代码中存在堆缓冲区溢出,允许攻击者修改头部并潜在地在ubus守护进程的上下文中执行任意代码。
- **影响**: 攻击代码在ACL检查之前执行,所有ubus客户端都能发送此类消息。此外,精心制作的订阅还会导致监听ACL的绕过。
#### 修复与变通方法
- **修复**: 在OpenWrt 24.10.4及更高版本中已修复,包括自2025年10月18日起的快照构建。
- **变通方法**: 无
#### 参考链接
- ubus修复: [openwrt/ubus@ d31effb](https://github.com/openwrt/ubus/commit/d31effb)
- 修复类似代码模式: [openwrt/ubus@ aa4a7ee](https://github.com/openwrt/ubus/commit/aa4a7ee)
- 修复ACL绕过: [openwrt/ubus@ 6be9404](https://github.com/openwrt/ubus/commit/6be9404)
- OpenWrt主分支: [4b997e6](https://github.com/openwrt/openwrt/commit/4b997e6)
- OpenWrt 24.10: [a790196](https://github.com/openwrt/openwrt/commit/a790196)
- OpenWrt安全公告: [https://openwrt.org/advisory/2025-10-22-1](https://openwrt.org/advisory/2025-10-22-1)
#### 致谢
感谢Karsten Sperling来自Apple的报告和PoC。
标题: ubusd: fix more instances of missing length checks for patterns · openwrt/ubus@aa4a7ee · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
### 关键信息
- **漏洞类型**: 缺失长度检查(Missing Length Checks)
- **修复内容**: 修复了多个实例的缺失长度检查问题,这些问题是与模式相关的。
- **报告者**: Karsten Splingemann (<karsten@apple.com>)
- **提交者**: Felix Fietkau (<nbd@openwrt.org>)
- **相关文件**:
- `ubusd_acl.c`
- `ubusd_proto.c`
- **关键代码修改**:
- 在多个函数中添加了对空指针的检查,例如:
```c
if (!obj)
return NULL;
```
- 确保在处理字符串时进行有效的长度检查,避免潜在的缓冲区溢出或越界访问。
- **影响范围**: 这些修复可能影响到OpenWrt系统中的UBUS服务的安全性和稳定性,防止因输入验证不足导致的安全漏洞。
标题: ubusd: fix ACL check for receiving events · openwrt/ubus@60e0404 · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
从这个网页截图中可以获取到以下关于漏洞的关键信息:
- **提交信息**:
- 提交ID:`60e0404`
- 提交者:`nbd168`
- 提交时间:5天前
- 提交描述:`ubusd: fix ACL check for receiving events`
- **漏洞描述**:
- 问题:通配符事件匹配也必须受ACL检查的约束。
- 报告人:Karsten Sperling (`ksperling@apple.com`)
- 签名:Felix Fietkau (`nbd@nbd.name`)
- **代码更改**:
- 文件:`ubusd_event.c`
- 更改行数:+1 -1
- 具体更改:
```c
- if (pattern[0] && ubusd_acl_check(cl, pattern, NULL, UBUS_ACL_LISTEN))
+ if (ubusd_acl_check(cl, pattern, NULL, UBOS_ACL_LISTEN))
```
- **关键点**:
- 修复了在接收事件时的ACL检查问题,确保通配符事件匹配也受到ACL检查的约束。
- 通过修改条件判断语句,确保了正确的权限检查。
标题: ubusd: Fix out of bounds access in event register message · openwrt/ubus@d31effb · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
从这个网页截图中可以获取到以下关于漏洞的关键信息:
- **漏洞类型**:越界访问(Out of bounds access)
- **受影响的组件**:`ubusd` 的事件注册消息处理
- **问题描述**:
- 代码假设提供的模式至少有一个字节长。
- 空消息可能导致堆损坏和 `ubusd_act_check()` 绕过。
- **修复措施**:
- 检查模式长度,如果长度小于等于0,则返回 `UBUS_STATUS_PERMISSION_DENIED`。
- **相关文件**:`ubusd_event.c`
- **提交信息**:
- 提交ID:`d31efffb`
- 提交者:Hauke Mehrtens 和 nbd168
- 提交时间:上周
- 固定的提交:`12b23b4` ("trim the wildcard of partial patterns to keep the avl tree sorted properly")
- **报告者**:Karsten Sperling (`ksperling@apple.com`)
```markdown
### 关键信息总结
- **漏洞类型**: 越界访问 (Out of bounds access)
- **受影响组件**: ubusd 的事件注册消息处理
- **问题描述**:
- 代码假设提供的模式至少有一个字节长。
- 空消息可能导致堆损坏和 ubusd_act_check() 绕过。
- **修复措施**:
- 检查模式长度,如果长度小于等于0,则返回 UBUS_STATUS_PERMISSION_DENIED。
- **相关文件**: ubusd_event.c
- **提交信息**:
- 提交ID: d31efffb
- 提交者: Hauke Mehrtens 和 nbd168
- 提交时间: 上周
- 固定的提交: 12b23b4 ("trim the wildcard of partial patterns to keep the avl tree sorted properly")
- **报告者**: Karsten Sperling (<ksperling@apple.com>)
```
标题: ubus: update to Git HEAD (2025-10-17) · openwrt/openwrt@4b907e6 · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
从这个网页截图中,可以获取到以下关于漏洞的关键信息:
- **提交信息**:
- 提交者:nbd168
- 提交时间:5天前
- 提交ID:4b907e6
- **提交描述**:
- 更新ubus到Git HEAD(2025-10-17)
- 包含多个修复和改进,如修复越界访问、添加CI构建、修复ACL检查等。
- **文件更改**:
- 修改了`package/system/ubus/Makefile`文件
- 主要更改内容:
- `PKG_SOURCE_DATE`从`2025-10-04`更新为`2025-10-17`
- `PKG_SOURCE_VERSION`和`PKG_MIRROR_HASH`也相应更新
这些信息表明这是一个针对OpenWrt项目中的ubus组件的更新,主要目的是修复安全漏洞和优化代码。
标题: ubus: update to Git HEAD (2025-10-17) · openwrt/openwrt@a790196 · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
从这个网页截图中,可以获取到以下关于漏洞的关键信息:
- **提交信息**:
- 提交ID:a790196
- 提交者:nbd168 和 hauke
- 提交时间:4天前
- 提交内容:更新ubus到Git HEAD(2025-10-17)
- **更改文件**:
- 文件路径:`package/system/ubus/Makefile`
- 更改行数:+3 -3
- **具体更改内容**:
```diff
@@ -5,10 +5,10 @@ PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=$(PROJECT_GIT)/project/ubus.git
-PKG_SOURCE_DATE:=2025-10-04
+PKG_SOURCE_DATE:=2025-10-17
PKG_SOURCE_DATE_ABI:=2025-01-02
-PKG_SOURCE_VERSION:=ad278bbcc166b4dcb82665d7b3434d54150b2abc
+PKG_SOURCE_VERSION:=80e84048ae2f3e33651c19e62863b41de4c208f
PKG_MIRROR_HASH:=10e901abdb22c0956df3199775b2aee61ff58aa3dda31a3a606e5e5bd82cde
+PKG_MIRROR_HASH:=2db2828395ae38afe184bb0e51d3635988d84ffcd84308a73ce143c05fc7b2db
PKG_ABI_VERSION:=$(call abi_version_str,$(PKG_SOURCE_DATE_ABI))
CMAKE_INSTALL:=1
```
这些信息表明,该提交主要是对ubus项目的源代码版本和日期进行了更新,可能涉及到安全修复或功能改进。
暂无评论