CVE-2026-33656: EspoCRM ≤ 9.3.3 — Formula engine ACL gap + path traversal → authenticated RCE (full write-up + PoC)
嗯,用户让我帮忙总结一下这篇文章的内容,控制在100个字以内。首先,我需要仔细阅读文章内容,理解其中的关键点。 文章提到EspoCRM的公式引擎绕过了字段级别的限制层,导致readOnly字段如Attachment.sourceId可以被写入。这可能是一个安全漏洞。接着,sourceId被直接拼接到文件路径中,没有进行任何安全处理,这样攻击者可能通过修改sourceId来上传恶意脚本,比如webshell。然后利用分块上传功能上传恶意文件,污染.htaccess文件,最终实现远程代码执行(RCE),以www-data权限运行。整个攻击过程需要六次请求,并且需要管理员权限。最后提到这个漏洞已经协调披露,并在9.3.4版本中修复了。 接下来,我需要将这些关键点浓缩到100字以内。首先说明漏洞原因:公式引擎绕过readOnly字段限制。然后描述攻击链:修改sourceId、上传恶意脚本、污染.htaccess、获得RCE权限。最后提到修复版本。 要注意用词简洁,避免冗余信息。比如“formula engine operates outside the field-level restriction layer”可以简化为“公式引擎绕过字段限制”。同时确保所有关键步骤都被涵盖:修改sourceId、上传webshell、污染.htaccess、RCE。 现在组织语言:EspoCRM的公式引擎绕过readOnly字段限制,允许修改Attachment.sourceId并通过分块上传注入恶意脚本到.htaccess文件中,从而获得远程代码执行权限。该漏洞已在9.3.4版本中修复。 检查字数是否在100字以内,并确保没有遗漏重要信息。 </think> EspoCRM的公式引擎绕过readOnly字段限制,允许通过修改Attachment.sourceId并利用分块上传功能注入恶意脚本,最终污染.htaccess文件实现远程代码执行,该漏洞已在9.3.4版本修复。 2026-3-25 12:51:52 Author: www.reddit.com(查看原文) 阅读量:6 收藏

Root cause: EspoCRM's formula engine operates outside the field-level restriction layer — fields marked readOnly (like Attachment.sourceId) are writable through it. sourceId is concatenated directly into a file path in getFilePath() with no sanitization. Chain: modify sourceId via formula → upload webshell via chunked upload → poison .htaccess → RCE as www-data. Six requests, admin credentials required. Coordinated disclosure — patched in 9.3.4.


文章来源: https://www.reddit.com/r/netsec/comments/1s39ujn/cve202633656_espocrm_933_formula_engine_acl_gap/
如有侵权请联系:admin#unsafe.sh