CVE-2026-30662ConcreteCMS v9.4.7版本中的文件管理器组件存在拒绝服务漏洞。该漏洞源于concrete/controllers/backend/file.php文件中的download方法在创建zip归档时内存管理不当。具体而言,代码使用了ZipArchive::addFromString结合file_get_contents,将每个选定文件的全部内容加载到PHP内存中。经过身份验证的攻击者可以通过请求批量下载大文件来利用此漏洞,触发内存耗尽(OOM)条件,导致PHP-FPM进程崩溃(SIGSEGV),最终使Web服务器返回500错误,从而造成服务拒绝。
该漏洞的技术核心在于ConcreteCMS文件管理器后端对批量下载功能的实现方式。在concrete/controllers/backend/file.php的下载方法中,系统利用ZipArchive类来创建压缩包。问题在于,开发人员使用了addFromString方法,并配合file_get_contents函数读取文件内容。这种做法意味着服务器必须将用户请求的所有文件的完整二进制数据一次性读入PHP进程的内存堆中,而非使用流式处理(Stream)。当拥有低权限账户的攻击者选择多个大文件并触发下载时,内存占用会瞬间激增。一旦超过PHP配置的memory_limit或系统可用内存,将导致OOM Killer介入或PHP-FPM进程因段错误(SIGSEGV)而崩溃。虽然主服务器可能存活,但PHP服务的瘫痪会导致持续的500错误,实现拒绝服务攻击。