商业

Kaltura两处漏洞无需登录即可读文件:官方补丁仍未出现

|作者: QUASA 编辑团队|2 分钟阅读| 12
Kaltura两处漏洞无需登录即可读文件:官方补丁仍未出现

CERT/CC漏洞说明VU#308749 于2026年8月25日公开Kaltura HTML5 Player Library(mwEmbed/html5lib)的两项漏洞:CVE-2026-19913允许未认证攻击者读取Web服务器用户有权访问的本地文件,CVE-2026-19912可在文件缓存等特定条件下形成远程代码执行链。该说明同时表示补丁尚未可用,CERT/CC也没有收到Kaltura的厂商声明;日本JVN随后在8月26日的 JVNVU#94434952通告 中登记了同一事件。

截至2026年8月26日,公开渠道仍未出现Kaltura针对这两项CVE的补丁或正式声明。漏洞发现者的 技术复盘与验证记录 显示,两条攻击路径都不需要账户、Cookie、Kaltura Session令牌或用户交互;攻击者只需能够通过网络访问存在风险的mwEmbedLoader.php端点。

受影响范围取决于端点是否仍可访问

Kaltura部署中的mwEmbedLoader.php旧端点仍可从外部网络访问

已确认的受影响范围包括html5lib v2.45、v2.103及更早版本,以及其他仍暴露mwEmbedLoader.php的v2.x版本。版本号并非唯一条件:如果反向代理、CDN、旧播放器静态目录或历史虚拟主机仍把该路径交给PHP处理,即使主站已经换用新播放器,旧入口仍可能留在攻击面上。

两项漏洞的直接利用均不要求先登录Kaltura。CVE-2026-19913的关键条件是端点允许攻击者控制ServiceUrl,并接受file://等非HTTP方案;CVE-2026-19912还要求应用使用文件缓存、缓存位置可写,而且攻击者能够借助uiconf_id把文件引向Web可访问且允许执行PHP的目录。因此,文件读取所需条件少于这条特定的代码执行链。

风险端点也被发现存在于Kaltura共享的多租户CDN基础设施上,但这不能直接证明每个租户均可被利用或已经遭到入侵。实际风险仍取决于端点可达性、部署版本、缓存后端、文件权限和服务器配置,托管环境采取了哪些未公开的后端限制目前也不清楚。

同一反序列化入口形成两条攻击路径

同一ServiceUrl反序列化入口分别导致本地文件回显和缓存文件写入

共同入口位于KalturaClientBase PHP客户端对ServiceUrl的处理过程。mwEmbedLoader.php把用户提供的ServiceUrl作为后端API地址,客户端取得响应后,在没有验证来源、协议或内容的情况下将其交给PHP的unserialize()。攻击者因而既能影响服务器从哪里取回数据,也能控制进入反序列化流程的字节内容。

CVE-2026-19913利用错误处理路径。攻击者让ServiceUrl指向本地文件后,服务器读取文件并尝试反序列化;解析失败时,原始字节被放入错误响应并返回。可读取的范围受Web服务器用户权限限制,但可能包含应用配置、数据库凭据、管理口令、合作方密钥和API密钥。

CVE-2026-19912在同一入口上加入路径遍历和文件写入。攻击者提供包含PHP代码的恶意序列化对象,再通过未充分净化的uiconf_id改变缓存文件的写入位置;若文件落入可由Web访问并执行PHP的目录,请求该文件即可获得Web服务器用户权限下的代码执行。

完整的Web shell链是在Kaltura于2019年发布的默认服务器容器中验证的。对于研究时的当前源码West-23.5.0,已确认反序列化入口和未净化的路径构造仍然存在,本地文件内容也能进入异常响应,但研究者没有在当前生产部署上完成端到端的代码执行测试。这一区别意味着漏洞链的组成条件已经得到验证,却不能把旧容器的完整测试结果无条件套用于每一种现有部署。

仅改用memcache不能消除风险

仅使用memcache可能阻止文件写入,从而切断CVE-2026-19912所描述的这条特定代码执行路径,但这不等于修复漏洞。攻击者可控内容仍会进入不安全的反序列化流程,uiconf_id的路径构造问题也不会因缓存后端变化而消失。

CVE-2026-19913的文件读取不依赖磁盘缓存。只要mwEmbedLoader.php仍可访问、ServiceUrl仍允许本地文件方案,并且错误响应继续返回原始内容,敏感文件就可能外泄。因此,缓存配置只能作为判断代码执行条件的一项环境信息,不能替代端点封锁和ServiceUrl限制。

无补丁阶段应先切断外部入口

运维人员封锁Kaltura风险端点、限制ServiceUrl并回溯可疑请求

临时处置应先消除网络可达性,再限制参数和服务器行为,最后回溯是否已经出现利用迹象。建议按以下顺序执行:

  1. 确认暴露面。在Web根目录、反向代理配置、CDN规则和虚拟主机中查找mwEmbedLoader.php及html5lib v2.x路径,并从不受信任网络验证端点是否可达。排查范围应包含旧域名和历史播放器资源,而不只是当前页面。
  2. 封锁风险端点。不再使用旧版mwEmbed播放器的部署,应在WAF、CDN或反向代理层禁用mwEmbedLoader.php。暂时无法关闭时,应把访问范围压缩到业务所需的受信任来源。
  3. 限制ServiceUrl和uiconf_id。ServiceUrl只允许预先登记的后端API主机及必要的HTTP/HTTPS方案,并拒绝非白名单重定向、file://及其他协议。uiconf_id应拒绝目录分隔符、绝对路径和路径遍历序列。
  4. 收紧文件执行和出站访问。禁止缓存目录及其他应用可写目录执行PHP,并限制应用服务器连接不受信任的外部主机。这些措施能够破坏已知链条的必要条件,但不能代替厂商补丁。
  5. 回溯日志并处置凭据。检索带有mwEmbedLoader.php和ServiceUrl的请求、file://值、异常uiconf_id、路径遍历片段,以及缓存目录或Web根目录中新出现的PHP文件。若发现可疑活动,应隔离受影响主机、保存证据,并轮换可能从local.ini等配置文件泄露的数据库凭据、管理口令、合作方密钥和API密钥。

修复版本与托管环境处置仍待确认

目前可以确认的是,两项漏洞已获得CVE编号并公开,风险端点能够在无需认证的情况下被远程利用,改用memcache也不能消除文件读取问题。尚未明确的是Kaltura将发布哪些修复版本、自建与托管环境分别如何升级,以及共享基础设施是否已经实施未公开的缓解措施。

在厂商公告或补丁出现前,“没有观察到异常”和“只使用memcache”都不足以证明部署安全。管理员当前能够建立的临时边界,是让mwEmbedLoader.php无法从不受信任网络访问,对ServiceUrl实施严格白名单,禁止可写目录执行脚本,并完成相关请求和落盘文件的日志回溯。

分享:

订阅我们的新闻通讯

将最新 Web3、AI 和加密货币新闻直接发送到您的邮箱。

0