CVE-2025-58051CVE-2025-58051是Nextcloud Tables应用程序中存在的一个信息泄露漏洞。Nextcloud Tables是一款允许用户创建自定义表格并管理个人数据的Nextcloud应用插件。该漏洞存在于表格导入功能中,在受影响的版本(0.7.6、0.8.8和0.9.5之前的版本)中,当用户导入表格时,可以通过指定服务器上的任意文件路径来触发漏洞。如果所指定的文件格式被PhpSpreadsheet库所支持(如xlsx、xls、ods、csv等电子表格格式),该库将会解析该文件并将其内容泄露给发起导入请求的用户。
此漏洞的危害在于,攻击者可以利用合法的表格导入功能读取服务器上其他用户或系统层面的敏感文件内容。虽然攻击者需要具有低权限的合法账户才能利用此漏洞(PR:L),但一旦利用成功,将导致服务器上任意可被PhpSpreadsheet解析的敏感文件内容泄露(C:H),从而可能泄露其他用户的个人数据、配置文件或其他敏感信息。该漏洞的CVSS评分为6.5分,属于中危级别,表明其虽需要认证但可造成显著的信息泄露风险。
该漏洞已由安全研究人员通过HackerOne平台报告(报告编号3249624),并由Nextcloud安全团队确认。官方已发布修复版本,建议所有使用Nextcloud Tables的用户尽快升级到安全版本以消除风险。
该漏洞的核心问题在于Nextcloud Tables应用在处理表格导入功能时,未对用户提供的文件路径进行充分的访问控制和安全验证。具体技术细节如下:
1. **导入流程缺陷**:Nextcloud Tables的导入功能允许用户提供文件路径来导入表格数据。在正常情况下,这一功能应仅允许用户导入自己有权访问的文件。然而,在受影响的版本中,应用未对文件路径进行严格的范围限制和权限校验。
2. **PhpSpreadsheet库利用**:该应用使用PhpSpreadsheet库来解析导入的电子表格文件。PhpSpreadsheet支持多种文件格式,包括xlsx、xls、ods、csv、html等。当用户提供一个服务器上的任意文件路径时,只要该文件的格式被PhpSpreadsheet支持,库就会尝试解析该文件。
3. **路径遍历与文件读取**:攻击者可以通过精心构造的文件路径,绕过预期的目录限制,读取服务器上其他位置的文件。例如,攻击者可以尝试读取其他用户的私有文件、系统配置文件或包含敏感信息的日志文件。
4. **内容泄露机制**:PhpSpreadsheet解析文件后,会将解析结果作为表格数据返回给前端。由于解析过程会将文件内容结构化展示,攻击者可以通过查看返回的表格数据来获取被读取文件的完整内容。
5. **利用条件**:攻击者需要拥有Nextcloud的有效账户(低权限即可),通过网络(AV:N)发起导入请求,无需用户交互(UI:N),即可读取服务器上的敏感文件。
修复方案主要通过在导入功能中添加对文件路径的严格验证,确保用户只能导入自己有权限访问的合法文件,防止任意文件读取的发生。