# HotCRP 公式远程代码执行漏洞
## 概述
HotCRP 是一个会议评审系统。自2024年4月发布的3.1版本起,公式功能中存在代码生成时输入未充分过滤的问题,导致可触发任意PHP代码执行。该漏洞已在3.2版本中修复。
## 影响版本
- 受影响版本:3.1
- 修复版本:3.2
## 细节
在处理 HotCRP 公式时,系统生成PHP代码前未对用户输入进行充分的安全过滤,攻击者可通过构造恶意公式输入,导致生成的代码包含并执行任意PHP代码。
## 影响
未经身份验证或已认证的用户可能利用此漏洞在服务器上执行任意PHP代码,造成远程代码执行(RCE),严重威胁系统安全。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Remote code execution through formulas · Advisory · kohler/hotcrp · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
- **CVE ID**: CVE-2026-23836
- **包名**: HotCRP
- **影响版本**: 3.0 - 3.1
- **修复版本**: 3.2
- **漏洞类型**: 远程代码执行
- **路径**: 通过公式
- **严重性**: 10.0 / 10(关键)
- **攻击向量**: 网络
- **攻击复杂度**: 低
- **所需权限**: 低
- **用户交互**: 无
- **范围**: 改变
- **机密性、完整性、可用性**: 高
- **补丁**: 在 commit bfc7e0d 中修复,并发布 3.2 版本
- **描述**: HotCRP 公式的代码生成不充分地进行了净化,允许用户触发任意 PHP 代码的执行。该问题在 2024 年 4 月引入 commit 4674fcf,在发布 3.0.0 版本之后。
- **参考**: 感谢 EPFL HexHive Lab 的 Luca Di Bartolomeo 和 Philipp Mao 负责任地披露此问题。关于 HotCRP 安全策略的信息可在此处查看。
标题: Formulas: Output error_log if DEBUG === 1. · kohler/hotcrp@4674fcf · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
- **Commit Message:** "Formulas: Output error_log if DEBUG === 1."
- **File Changed:** `src/formula.php`
- 48 lines added, 38 lines deleted
- **Key Changes:**
- Added a new constant `DEBUG` set to `1` for debugging purposes
- Introduced a new method `debug_report($function)` to log debug information
- Replaced `eval` calls with `debug_report` calls for better error tracking
- **Potential Vulnerability Implications:**
- The use of `eval()` can be risky, as it executes arbitrary code
- While `DEBUG === 1` is a conditional check, improper handling could lead to code injection vulnerabilities
- Adding debug logging is a step towards better error tracking, but the codebase still relies on `eval()`, which should be reviewed for safer alternatives
标题: Correct critical remote code execution vulnerability in formulas · kohler/hotcrp@bfc7e0d · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
## 关键漏洞信息
- **漏洞类型**: 严重远程代码执行漏洞
- **影响文件**: `src/formula.php`
- **漏洞描述**: 该漏洞存在于公式处理中,可能导致远程代码执行。
- **修复措施**: 在代码中添加了一个新的 `protect_string` 函数,对字符串进行保护处理,避免恶意输入导致代码执行。
- **报告者**: Luca Di Bartolomeo 和 Philipp Mao
- **报告地点**: HexHive Lab, EPFL (PI Mathias Payer)
- **代码变动**:
- 修改了 `compile_body` 函数,增加了对恶意输入的处理。
- 新增了 `protect_string` 函数,用于对字符串进行安全处理。
- 修改了 `compile_function` 和 `compile_indexes_function` 函数,对生成的函数代码进行了安全检查。
- 修改了 `support_combiner` 函数,对组合器代码进行了安全检查。
暂无评论