# Clay__MeasureTextCached 空指针解引用漏洞
## 概述
nicbarker/clay 库在版本 0.14 及之前存在安全漏洞,涉及 `clay.h` 文件中的 `Clay__MeasureTextCached` 函数。
## 影响版本
nicbarker/clay ≤ 0.14
## 细节
`Clay__MeasureTextCached` 函数存在空指针解引用漏洞,当传入空指针或无效文本参数时未进行有效校验,导致程序崩溃。
## 影响
攻击者可通过本地访问触发该漏洞,导致拒绝服务(程序崩溃)。该漏洞的利用代码已公开,存在被实际攻击利用的风险。项目方已收到问题报告但尚未响应。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: 1215/repro at main · oneafter/1215 · GitHub -- 🔗来源链接
标签:exploit
神龙速读:
## 关键信息
- **仓库名称**: oneafter / 1215
- **文件内容**:
- Directory: `repro`
- File: `harness.c`
- Content: `AAAAAAAAAAAAAAAAAAAAAAAA+A. A`
- **最近更新**:
- `oneafter` 用户通过上传添加了文件
- 最后一次更新发生在上个月
- **文件路径**: `1215 / repro`
### 分析
根据截图中的字符串内容(包含多个'A'字符和其他特殊符号),很可能这是一个用于触发缓冲区溢出漏洞的测试用例或样本。这可能暗示了仓库中存在一个能够通过特定输入导致程序崩溃或行为异常的安全漏洞。
标题: [Bug] Segmentation Fault (SEGV) in Clay__MeasureTextCached · Issue #566 · nicbarker/clay -- 🔗来源链接
标签:issue-tracking
神龙速读:
### 关键信息
#### 漏洞概述
- **类型**: 分段错误(SEGV)导致的崩溃
- **原因**: 尝试读取地址 `0x0000000000000000`(空指针引用)
#### 影响
- **组件**: `Clay__MeasureTextCached` 函数
- **影响版本**: master 分支
#### 环境
- **操作系统**: Linux x86_64
- **编译器**: Clang,带有 `-fsanitize=address` 标志
- **相关工具**: AddressSanitizer
#### 漏洞细节
- **目标**: Clay (clay.h)
- **崩溃类型**: SEGMENTATION FAULT (SEGV) 在 READ 访问时发生
- **位置**: clay.h:1666 (在 `Clay__MeasureTextCached` 函数内部)
- **崩溃地址**: 0x0000000000000000
#### 根因分析
- **路径**: `Clay__OpenTextElement` -> `Clay__MeasureTextCached`
- **问题**: `Clay__MeasureTextCached` 尝试访问结构指针的成员,该指针为 NULL
#### 再现步骤
1. **构建配置**: 使用 Release 构建,启用 AddressSanitizer,并用这些标志编译:
- `-DCMAKE_BUILD_TYPE=Release`
- `-DCMAKE_C_FLAGS_RELEASE="-O3 -g -fsanitize=address -fno-omit-frame-pointer -UNDEBUG"`
- `-DCMAKE_CXX_FLAGS_RELEASE="-O3 -g -fsanitize=address -fno-omit-frame-pointer -UNDEBUG"`
- `-DCMAKE_EXE_LINKER_FLAGS="-fsanitize=address"`
- `-DCLAY_INCLUDE_ALL_EXAMPLES=OFF`
- `-DCLAY_INCLUDE_DEMOS=ON`
2. **编译测试**: 使用 `harness`
3. **运行模糊测试**: 使用提供的 `repro` 输入运行 `harness`
#### ASAN 报告
- **信号**: 提示由 READ 访问导致
- **地址**: 指向零页的未知地址
- **堆栈跟踪**: 明确显示崩溃发生的位置和调用栈
#### 重现条件
- 此崩溃在 RELEASE 构建(-O3)中可重现,表明它是一个运行时关键错误,其中指针在未进行有效性检查的情况下被解引用,导致处理恶意文本元素时应用程序崩溃。
标题: Login required -- 🔗来源链接
标签:signaturepermissions-required
神龙速读:
### 关键信息
- **漏洞标题**: NICBARKER CLAY up to 0.14 CLAY.H CLAY__MEASURETEXTCACHE NULL POINTER DEREFERENCE
- **漏洞编号**:
- VDB-341707
- CVE-2025-15535
- ISSUE: 566
- **访问限制**: 页面需要通过登录来访问详细信息。
- **提示信息**:
- 需要登录, 可以使用现有账号登录, 或注册新账号。
标题: Submit #733346: nicbarker clay v0.14 and master-branch Memory Corruption -- 🔗来源链接
标签:third-party-advisory
神龙速读:
## 关键信息
**Title**
- nicbarker clay v0.14 and master-branch Memory Corruption
**Description**
- Segmentation Fault (SEGV) due to READ memory access at address 0x0 (Null Pointer Dereference) within `Clay__MeasureTextCached` function.
- Crash is reproducible in RELEASE builds (-O3) indicating a runtime critical bug.
**Environment**
- OS: Linux x86_64
- Compiler: Clang with `-fsanitize=address`
- Tools: AddressSanitizer
- Affected Version: 'master branch'
**Vulnerability Details**
- Target: Clay (clay.h)
- Crash Type: Segmentation Fault (SEGV) on READ access
- Location: clay.h:1666 (inside `Clay__MeasureTextCached`)
- Crash Address: 0x00000000000000
- Root Cause Analysis: ASan report shows crash happens at line 1666 of clay.h due to READ memory access at address 0x0, suggesting `Clay__MeasureTextCached` attempts to access a NULL structure pointer member.
**Reproduce**
- Build Configuration: RELEASE build with AddressSanitizer enabled.
标题: CVE-2025-15535 nicbarker clay clay.h Clay__MeasureTextCached null pointer dereference (Issue 566 / EUVD-2026-3181) -- 🔗来源链接
标签:vdb-entrytechnical-description
神龙速读:
## 关于漏洞的关键信息
- **漏洞ID**: VDB-341707, CVE-2025-15535, ISSUE 566
- **漏洞类型**: NULL Pointer Dereference (CWE-476)
- **受影响的组件**:
- Vendor/Product: nicbarker Clay up to 0.14
- 漏洞函数: `clay__MeasureTextCached` in `clay.h`
- **CVSS Meta Temp Score**: 3.1
- **当前漏洞利用价格**: $0-$5k
- **CTI Interest Score**: 1.94
- **漏洞摘要**:
- 该漏洞导致函数 `clay__MeasureTextCached` 中出现空指针解引用,限制于本地执行环境。
- 漏洞已发现存在利用代码。
- 项目已通过问题报告获知此漏洞,但尚未作出回应。
- **详细信息**:
- 由于未知输入导致空指针解引用,可能引起崩溃或退出,影响可用性。
- 此漏洞标识为问题类型CVE-2025-15535。
- 漏洞在GitHub上已被公开,且漏洞利用相对容易,所需攻击面为本地环境。
- 技术细节和概念验证(POC)已公开。
暂无评论