# raysan5 raylib rtext.c 整数溢出漏洞
## 概述
raysan5 raylib 在提交版本 909f040 及之前存在一个整数溢出漏洞,位于 `src/rtext.c` 文件的 `LoadFontData` 函数中。该漏洞可被本地攻击者利用,且已有公开的利用代码。
## 影响版本
raysan5 raylib 提交版本 909f040 及之前的所有版本。
## 细节
漏洞发生在 `src/rtext.c` 的 `LoadFontData` 函数中,由于缺乏对输入数据的充分验证,攻击者可操纵输入导致整数溢出,可能引发内存越界访问或其他未定义行为。
## 影响
本地攻击者可利用该漏洞执行任意代码或造成拒绝服务。由于已有公开的 exploit,存在被实际利用的风险。建议应用官方补丁(提交 ID: 5a3391fdce046bc5473e52afbd835dd2dc127146)进行修复。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: 1224/segv1 at main · oneafter/1224 · GitHub -- 🔗来源链接
标签:exploit
神龙速读:
以下是该网页截图中可以获取到的关键信息,以简洁的markdown格式呈现:
- **Repository Name**: oneafter/1224
- **Repository Type**: Public
- **Last Update**: `last month`
- **Commit Hash**: `f3893db`
- **Commit Message**: `Add files via upload`
- **Commit Author**: oneafter
从文件列表中可以看到多个文件,其中包含了 `segv1` 文件,这可能与段错误(Segmentation fault)相关,段错误是程序中常见的内存访问错误,可能会导致程序崩溃。进一步详细信息需要查看文件内容。
如果你需要进一步分析或有特定的问题,欢迎继续提问!
标题: [rtext] Integer Overflow in `LoadFontData()` leads to Segfault in `GenImageFontAtlas()` · Issue #5436 · raysan5/raylib -- 🔗来源链接
标签:issue-tracking
神龙速读:
The key information about the vulnerability from the screenshot can be summarized as follows:
- **Vulnerability Type:** Integer Overflow in `LoadFontData()`
- **Impact:** Leads to Segmentation Fault (`SIGSEGV`) in `GenImageFontAtlas()`
- **Trigger:** A negative value passed to `calloc()` due to overflow in the allocation calculation: `count * size (-14624 * 2)`
- **Environment:**
- OS: Linux x86-64
- Compiler: Clang
- Build Configuration: Release
- Affected Version: master branch
- **Reproduction Steps:**
1. Compile the raylib font test `harness` with AddressSanitizer enabled.
2. Run the fuzzer harness with attached `repro` input.
- **Debugging Information:**
- ASAN report shows `calloc` overflow with error: `==10067==ERROR: AddressSanitizer: calloc parameters overflow`
- GDB report indicates `SIGSEGV` in `GenImageFontAtlas`
- **Fix Approach:**
- A patch is being prepared to address the issue by adding boundary checks.
- **CVE Assigned:** CVE-2025-15534
```markdown
## Vulnerability Summary
- **Type:** Integer Overflow in `LoadFontData()`
- **Impact:** Segmentation Fault in `GenImageFontAtlas()`
- **Trigger:** Negative value passed to `calloc()` due to overflow (`-14624 * 2`)
### Environment
- OS: Linux x86-64
- Compiler: Clang
- Build Config: Release
- Version: master branch
### Reproduction Steps
1. Compile `harness` with AddressSanitizer.
2. Run fuzzer with `repro` input.
### Debug Information
- **ASAN:** `calloc` overflow reported.
- **GDB:** `SIGSEGV` in `GenImageFontAtlas`.
### Fix
- Patch preparation underway with boundary checks.
- CVE: CVE-2025-15534
```
标题: [rtext] Fix multiple security vulnerabilities in font loading (#5433,… · raysan5/raylib@5a3391f · GitHub -- 🔗来源链接
标签:patch
神龙速读:
### 关键漏洞信息
- **问题描述**:
- 在字体加载过程中存在的多种安全漏洞,特别是与 `glyphs[k].advanceX` 相关的整数溢出、负值分配等问题。
- 恶意字体文件可能包含负的 `advanceX`,从而导致 `calloc` 溢出或崩溃。
- **固定措施**:
- **防止整数溢出/负值分配**:
- 当 `glyphs[k].advanceX < 0` 时,将其设置为 `0`。
- 仅当宽度大于 `0` 时分配内存,否则设置为 `NULL`。
- 在分配内存时,检查宽度和高度的边界,防止堆溢出和下溢。
- **相关问题编号**:
- #5433, #5434, #5436, #5450
- **其他注意事项**:
- 确保生成的图集足够大,可以包含 `3x3` 矩形,以防止当宽度和高度小于 `3` 时的堆下溢。
```
请确认是否需要补充更多的细节。
标题: [rtext] Fix multiple security vulnerabilities in font loading by oneafter · Pull Request #5450 · raysan5/raylib · GitHub -- 🔗来源链接
标签:issue-tracking
神龙速读:
### 关键信息总结
#### 漏洞相关
- **修复内容**: 修复了 `rtex` 模块中的多个安全漏洞(#5433, #5434, 及 #5436)。
- **涉及文件**: `font loading` 相关的代码。
- **关联讨论**: 提及 `stb_truetype.h` 模块的安全性声明政策,以及相关已关闭的问题 #5432 和 #5435。
#### 工作细节
- **提交状态**: Pull Request 已经合并。
- **参与人员**: 主要由 `rayers5` 和 `oneafter` 两人协作完成。
- **代码变更**: 变更基于最新的 `master` 分支,避免了可能的冲突。
#### 其他信息
- **备注**: 提及此修复不能防止 `stb_truetype.h` 内部引发的崩溃问题,如 #5432 所示。
- **开发策略**: 变更聚焦在需要解决的关键安全问题上,尽量保持代码最小修改量。
标题: Login required -- 🔗来源链接
标签:signaturepermissions-required
神龙速读:
从这个网页截图中,我们可以获取到以下关于漏洞的关键信息:
- **漏洞名称**: RAYSAN5 RAYLIB UP TO 909F040 SRC/RT TEXT.C LOADFONTDATA INTEGER OVERFLOW
- **漏洞ID**:
- VDB-341706
- CVE-2025-15534
- Issue 5436
此外,截图中显示该页面需要用户登录后才能访问详细内容。
标题: Submit #733343: raysan5 raylib 909f040 Integer Overflow -- 🔗来源链接
标签:third-party-advisory
神龙速读:
### 关键漏洞信息
- **Title**: raysan5 raylib 909f040 Integer Overflow
- **Vulnerability Type**: Integer Overflow / Argument Injection to calloc - Root Cause Location
- **Affected Version**: master branch
- **Environment**:
- OS: Linux x86_64
- Compiler: Clang - Build Config: Release - AddressSanitizer enabled (-fsanitize=address -g)
- **Description**:
- **Vulnerability**: Denial of Service (DoS) vulnerability in Raylib, caused by an Integer Overflow in LoadFontData.
- **Trigger**: An invalid call to `calloc` with a negative value in the invalid allocation propagates downstream, leading to a Segmentation Fault.
- **Fix**: The vendor confirmed and fixed the vulnerability in commit [5a3391f].
- **Reproduction Steps**:
1. Compile the raylib font test with AddressSanitizer.
2. Run the fuzzer harness with the attached input.
3. Recompile the raylib and font test without AddressSanitizer and run the fuzzer harness.
- **ASAN Report**:
- Identifies a call to `calloc` with invalid parameters, resulting in a SIGSEGV.
- **SIGSEGV**:
- Program received signal SIGSEGV, Segmentation fault.
- Detailed debugging information provided.
- **Source**: 
- **User**: Oneafter (UID 92781)
- **Submission**: 01/07/2026 07:20 AM
- **Moderation**: 01/17/2026 05:12 PM
- **Status**: Accepted
- **VulDB Entry**: [341706](341706) [raysan5 raylib up to 909f040 src/rtext.c LoadFontData integer overflow]
- **Points**: 20
暂无评论