CVE-2025-11345CVE-2025-11345 是 ILIAS 学习管理系统中 Test Import(测试导入)组件存在的一个反序列化漏洞。该漏洞影响 ILIAS 8.23 及以下版本、9.13 及以下版本以及 10.1 及以下版本。漏洞位于 Test Import 功能的 unserialize 函数中,攻击者可以通过精心构造的序列化数据触发 PHP 反序列化操作,从而实现远程攻击。
ILIAS 是一款广泛使用的开源学习管理系统(e-Learning/LMS),被众多高校、培训机构和企业用于在线教学与课程管理。Test Import 是其核心功能之一,允许管理员导入测试题库。由于该组件未对用户输入的序列化数据进行充分验证,攻击者可以在反序列化过程中注入恶意对象,导致任意代码执行或数据篡改等安全风险。
该漏洞的 CVSS 3.1 评分为 5.5,属于中危级别。攻击者需要具备低权限账户(如普通用户或教师账户),并需要用户交互(如导入测试文件)才能触发漏洞。成功利用后,攻击者可以对系统的机密性、完整性和可用性造成低级别的影响。
该漏洞已由 SRLabs 安全研究团队发现并报告,其博客文章详细描述了如何利用 ILIAS 的三个漏洞实现远程代码执行(RCE),本漏洞是其中之一。官方已在版本 8.24、9.14 和 10.2 中修复了该问题,建议用户尽快升级。
该漏洞的核心问题在于 ILIAS Test Import 组件在处理用户上传的测试数据时,调用了 PHP 的 unserialize() 函数来反序列化用户可控的数据,而未对输入进行充分的过滤和验证。
PHP 的 unserialize() 函数在反序列化过程中可以实例化任意类,如果应用程序中存在可被利用的魔术方法(如 __wakeup()、__destruct()、__toString() 等),攻击者就可以通过构造特定的序列化字符串触发这些魔术方法,从而实现各种攻击,包括但不限于:任意文件读写、SQL注入、远程代码执行等。
利用方式如下:
1. 攻击者首先需要获取一个低权限账户(如学生或教师账户)。
2. 攻击者构造一个恶意的序列化 payload,其中包含指向危险类(如文件操作类、命令执行类等)的对象引用。
3. 攻击者通过 Test Import 功能上传包含恶意序列化数据的测试文件。
4. 服务器在导入过程中调用 unserialize() 对数据进行处理,触发恶意对象的魔术方法。
5. 攻击者实现远程代码执行或数据窃取。
该漏洞的利用需要用户交互(UI:R),这意味着攻击者需要诱使目标用户执行导入操作,或者攻击者自身拥有合法账户来触发漏洞。