# Kimai 认证SSTI漏洞
## 概述
Kimai 是一个基于 Web 的多用户时间追踪应用。在 2.46.0 之前版本中,其导出功能使用了 Twig 沙箱机制,但采用了允许任意方法调用的过度宽松安全策略(`DefaultPolicy`),导致模板上下文中对象的方法可被滥用。
## 影响版本
2.46.0 之前的所有版本
## 细节
导出功能使用 Twig 沙箱配合 `DefaultPolicy` 安全策略,该策略未限制模板中对上下文对象的方法调用。经认证且具备导出权限的用户可上传恶意 Twig 模板,在渲染过程中执行任意方法,从而读取敏感数据。
## 影响
攻击者可利用该漏洞提取包括环境变量、所有用户的密码哈希、序列化的会话令牌以及 CSRF 令牌在内的敏感信息。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Release 2.46 by kevinpapst · Pull Request #5757 · kimai/kimai · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
- **关键信息:**
- **安全相关更新:**
- 增加了安全性检查,防止在Twig导出模板中访问敏感数据。
- 加强了发票模板的访问检查。
- **缺陷修复:**
- 修复PWA主题颜色。
- 解决日历颜色问题,相关于#5761。
- **代码审查和覆盖率报告:**
- 代码覆盖率达到了87.96%,并且所有修改和可覆盖的行都被测试覆盖。
这些信息提示该版本更新主要集中在修复已知Bug和提升安全性方面。
标题: Release 2.46.0 · kimai/kimai · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
从截图中的GitHub项目描述可以提取到以下关键信息:
- **项目名称**:kimai / kimai
- **最新版本**:Version 2.46.0,发布于两周前。
- **关键特性改进,涉及安全更新**:
- 添加了安全检查以防止从twig导出模板访问敏感数据(#5757)
- **语言支持**:支持PHP 8.1到8.5。
这些信息中的安全更新点,表明开发者已经意识到并修复了潜在的安全问题,防止用户在使用twig导出模板时访问敏感数据,通常与隐私保护和数据安全相关。
标题: Authenticated Server-Side Template Injection (SSTI) · Advisory · kimai/kimai · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
## 关键信息摘要
### 漏洞概述
- **漏洞类型**: Authenticated Server-Side Template Injection (SSTI)
- **CVE ID**: CVE-2026-23626
- **影响版本**: Kimai 2.45.0及更早版本
- **修复版本**: 2.46.0
### 漏洞详情
#### 描述
Kimai的导出功能使用了具有过度宽松的安全策略(`DefaultPolicy`)的Twig沙箱,允许模板上下文中对象的任意方法调用。拥有导出权限的认证用户可以部署恶意的Twig模板,提取敏感信息,如环境变量、用户密码哈希、序列化的会话标记等。
#### 漏洞严重性
- **CVSS评分**: 6.8 (MEDIUM)
- **攻击向量**: 网络
- **攻击复杂度**: 低
- **所需权限**: 高(具有导出权限的管理员账户)
- **用户交互**: 无
- **影响**: 保密性
- **影响范围**: 改变(通过导出功能可以访问其他用户的数据)
### 漏洞利用步骤
1. **部署恶意模板**: 保存恶意的`.pdf.twig`模板到特定路径
2. **运行利用脚本**: 使用Python脚本`ssti_exploit.py`触发SSTI,自动导出PDF文件
3. **提取PDF文本**: 使用`pdftotext`工具提取并分析PDF中的敏感数据
### 修复与缓解措施
- **立即修复**: 替换`DefaultPolicy`为更严格的模板策略
- **额外强化**:
1. 禁止模板中访问环境变量
2. 禁用模板中对会话数据的访问
3. 限制用户密码哈希的访问
### 报告与致谢
- 报告者: Mahammad Huseynkhanli
- 所属项目: <https://github.com/kimai>
标题: Release 2.46 (#5757) · kimai/kimai@6a86afb · GitHub -- 🔗来源链接
标签:x_refsource_MISC
暂无评论