1С-Битрикс 安全 1С-Битрикс 信息安全与事件监控中心通知
Telegram 频道中出现了一条关于 "Перевод" 模块存在漏洞的消息,据称该漏洞允许未经授权上传档案且不进行安全检查。
我们立即进行了检查,并且 不确认 产品中存在漏洞。只有管理员才能向 "Переводы" 模块上传文件。消息中提到的所需权限与管理员的权限一致。管理员有权修改并在项目上运行任何代码。
因此,该漏洞不存在。 https://t.me/bitrixkiberbez/76
该修复实现了一个递归的目录清理器,用于在解压档案后检测并删除任何变体的 .htaccess 文件。
/**
* Removes any variation of .htaccess files from the extracted directory.
* Covers case sensitivity (.HTACCESS) and trailing dots/spaces.
* By CyberOK | https://www.cyberok.ru/
*/
private function sanitizeDirectory(Translate\IO\Directory $dir): void
{
foreach ($dir->getChildren() as $entry) {
if ($entry instanceof Main\IO\Directory) {
$this->sanitizeDirectory(new Translate\IO\Directory($entry->getPhysicalPath()));
} else {
if (preg_match('/^\.htaccess[.\s]*$/i', $entry->getName())) {
$entry->delete();
}
}
}
}
bitrix/modules/translate/lib/controller/asset/extract.php
🧯 1С-Битрикс 的 RCE,但有个细节
2025 年 12 月 15 日,1C-Bitrix 的 CVE-2025-67886/CVE-2025-67887 漏洞公开披露。目前尚未发布补丁,PoC 可用。
🔥 漏洞描述 漏洞位于 1C-Bitrix 的 Translate Module 中,该模块允许上传档案并将其解压到临时目录。然而,系统在解压前不检查档案内容——这使得攻击者可以将 PHP 文件和特制的 .htaccess 包含在档案中,成功解压并在服务器上执行。
📌 重要!为什么这个 RCE 并非对所有人都适用
• 要成功利用,攻击者需要拥有 Translate Module 的 "SOURCE" 和 "WRITE" 权限。实际上,这些权限已经暗示了可以修改 PHP 文件。
• 运行在纯 Nginx(无 Apache / 无 .htaccess 处理器)的基础架构不易受到完整 RCE 的影响——PHP 文件通常作为静态文件提供。 在这种情况下,风险转向在 Web 可访问区域中的任意文件写入,而非保证的 RCE。
• 在 nginx → Apache 组合或纯 Apache 且启用了 AllowOverride 的情况下,场景更接近 "真正的" RCE,但需要管理员权限。
🔥1С-Битрикс 的同事在其官方声明中确认了我们的结论:https://t.me/bitrixkiberbez/76 📊 影响范围 根据 SKIPA 数据,Runet 上约有 2,000,000 个 1C-Bitrix 实例。大约 10% 的主机可能受此问题影响。 PentOps 客户已及时收到通知。
📐 风险评估 ✖️ 官方 CVSS 尚未分配 ✖️ 严格来说 CVSS 很高,但实际风险较低,因为需要高权限。
✖️ CyberOK 重新评估(基础 CVSS v3.1): 7.2(高) CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
✖️ 时间指标(截至今日): 6.8 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H/E:P/RL:U/RC:C
✖️ CyberOK RWD(真实世界危险)评分: 3/5 — 实际利用风险
📦 受影响版本 • CVE-2025-67887:所有版本 1C-Bitrix <= 25.100.500 • CVE-2025-67886:所有版本 Bitrix24 <= 25.100.300
🔧 概念验证 公开可用的 PoC 已确认。
📌 日志中应关注的内容 连续的本地化上传链(关键指标):
/bitrix/services/main/ajax.php?action=bitrix%3Atranslate.controller.asset.grabber.upload
/bitrix/services/main/ajax.php?action=bitrix%3Atranslate.controller.asset.grabber.extract
/bitrix/services/main/ajax.php?action=bitrix%3Atranslate.controller.asset.grabber.apply
⚠️ apply 端点最为关键,因为它返回临时目录的路径,其中可能包含上传的 shell。
🛡 防护与检查建议
访问权限: 立即检查谁拥有对该模块的访问权限——从所有除少数管理员外的人那里移除 SOURCE/WRITE(或者最好暂时关闭该模块)。
网络限制: 通过 WAF/ACL 关闭对 translate 控制器的访问(至少是解压处理程序),仅保留管理员 IP/VPN。
Web 服务器: Apache:在可写目录中禁止 .htaccess(AllowOverride None)和/或禁止处理程序/PHP 执行在解压可能落入的区域。
Nginx:确保 PHP 仅在预期的 location 中执行(绝对不要在 upload/tmp/缓存/临时目录中)。
紧急情况下,可以额外监控和删除可写目录中出现的 .htaccess,但这只是权宜之计——正确的做法是在配置层面进行限制。
💣 结论 是的,这是 RCE,但一切都归结于权限和 Web 服务器配置。要成功利用,需要已经拥有 PHP 命令行工具访问权限的权限,该工具允许执行 PHP 代码,无需繁琐的上传文件步骤。检查 "Translate" 模块的权限,并禁止在可写区域中执行——这能消除大部分实际风险。
🖇 来源 Advisory KIS-2025-08 / CVE-2025-67887 NGINX Community Blog