# Open5GS context.c sgwc_bearer_add 断言漏洞
## 概述
Open5GS 在版本 2.7.5 及之前存在一个漏洞,位于 `src/sgwc/context.c` 文件的 `sgwc_bearer_add` 函数中,可导致可达断言(reachable assertion)。该漏洞可被远程利用。
## 影响版本
Open5GS 2.7.5 及以下版本。
## 细节
漏洞存在于 `src/sgwc/context.c` 的 `sgwc_bearer_add` 函数中。攻击者通过特定输入可触发断言,导致程序异常终止。
## 影响
该漏洞可被远程利用,可能导致服务中断。已有公开的利用代码,存在被实际攻击的风险。该问题已被标记为已修复。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: [Bug]: SGW-C crashes when bearer pool is exhausted (ogs_assert(bearer) in sgwc_bearer_add) · Issue #4233 · open5gs/open5gs -- 🔗来源链接
标签:issue-tracking
神龙速读:
### 关键漏洞信息
#### 漏洞概述
- **标题**: SGW-C 在承载池耗尽时崩溃 (`ogs_assert(bearer)` in `sgwc_bearer_add`)
- **编号**: #4233
- **状态**: Closed (已修复)
#### 影响版本
- **版本**: v2.7.6
#### 漏洞描述
- **问题**: 当承载池达到配置限制 (`ogs_app()->pool.bearer`) 后,下一个承载分配在 `sgwc_bearer_add` 中返回 `NULL`,但代码立即在 `ogs_assert(bearer)` 处断言空指针导致崩溃。
#### 复现步骤
1. 创建一个新的 Go 项目:`go mod init poc`
2. 编写并运行提供的 Go 代码模拟承载池耗尽的情况。
#### 预期行为
- 当承载池耗尽时,SGW-C 应检测到分配失败(`bearer == NULL`),返回适当的 GTPv2-C 错误(例如,会话/承载建立因资源耗尽失败),并保持进程运行(记录警告/错误)。
#### 观察到的行为
- 当承载池耗尽时,SGW-C 直接断言空指针并崩溃。
#### 解决方案
- 检查并修复 `sgwc_bearer_add` 函数中的断言逻辑,确保当承载池耗尽时,返回错误而不是断言空指针。
```markdown
#### 关键信息总结
- **版本**: v2.7.6
- **问题**: 承载池耗尽时断言崩溃
- **状态**: 已修复
- **修复措施**: 修改断言逻辑以避免进程崩溃
标题: [Bug]: SGW-C crashes when bearer pool is exhausted (ogs_assert(bearer) in sgwc_bearer_add) · Issue #4233 · open5gs/open5gs -- 🔗来源链接
标签:exploitissue-tracking
神龙速读:
## 关键信息概览
### 标题
- **[Bug]: SGW-C crashes when bearer pool is exhausted (ogs_assert(bearer) in sgwc_bearer_add)**
### 标签
- status:already-fixed
### 问题描述
- **描述**: SGW-C在承载池耗尽时会崩溃。当承载池达到其配置的限制时,下一个承载分配在sgwc_bearer_add()中返回NULL,但代码会立即在ogs_assert(bearer)处断言,导致SGW-C崩溃。
- **版本**: v2.7.6
### 配置
- **日志**:
- 文件路径: `/var/log/open5gs/sgwc.log`
- 最大值:
- UE: `10`
- SgwC配置:
- GTP-C服务器地址: `10.44.44.2`
- PCF服务器地址: `10.44.44.2`
- PGW服务器地址:
- 真实地址: `10.44.44.4`
- 虚拟地址: `10.44.44.5`
### 步骤重现
- 创建一个新的Go项目并初始化,编写并运行Go代码,模拟承载池耗尽情况触发崩溃。
### 日志记录
- 包含详细的运行日志和失败信息,指出了问题的具体表现和发生位置。
### 期望行为
- 当承载池耗尽时,SGW-C应该不会崩溃,而是检测到分配失败并返回适当的GTPv2-C错误。
### 实际行为
- 当承载池耗尽时,SGW-C由于承载池耗尽而崩溃,导致进程终止。
### 相关节点
- 不适用(针对核心网问题)
### 用户装备型号和版本
- 不涉及具体型号和版本
### 状态
- 已修复(status:already-fixed)
标题: CVE-2025-15531 Open5GS context.c sgwc_bearer_add assertion (Issue 4233 / EUVD-2026-3136) -- 🔗来源链接
标签:vdb-entrytechnical-description
神龙速读:
### 漏洞关键信息
- **漏洞编号**: CVE-2025-15531, VDB-341598
- **受影响的软件版本**: Open5GS up to 2.7.5
- **受影响的文件和函数**: `sgwc_bearer_add` in `src/sgwc/context.c`
- **漏洞类型**: Assertion vulnerability (CWE-617)
- **漏洞描述**: 未知输入的处理导致断言漏洞,可能被攻击者触发,导致应用退出或其他不必要的严重行为。
- **漏洞报告状态**: 已修复
- **漏洞利用情况**:
- 可远程攻击
- 无需身份验证
- 漏洞已公开,存在概念验证(PoC)和公共利用代码。
- **相关链接**:
- GitHub Advisory: [github.com](https://github.com)
- Public Exploit: [github.com](https://github.com)
- Additional Documentation: EUVD (EUVD-2026-3136)
暂无评论