vulnerabilities

Apache Linkis 元数据查询服务文件读取漏洞

ryan·Jan 17, 2025

基本信息

漏洞编号: CVE-2024-45627
危险等级: 高危 (CVSS v3.1: 8.3)
影响版本: Apache Linkis < 1.7.0
受影响组件: linkis-datasource
验证状态: 已验证
修复状态: 官方已发布1.7.0修复版本

漏洞详情

Apache Linkis是一个面向大数据和人工智能应用的开源治理平台。在1.7.0版本之前,其数据源管理模块存在文件读取漏洞。具备数据源管理权限的攻击者可以通过在JDBC URL中注入特定参数(如allowloadlocalinfile、allowurlinlocalinfile、allowloadlocalinfileinpath、autodeserialize),从而读取服务器上的任意文件。

影响范围

影响版本

Apache Linkis [1.5.0, 1.7.0)

受影响的组件

  • org.apache.linkis:linkis-datasource (Maven)
  • Apache Linkis (Linux环境)

漏洞特征

  • 攻击向量: 本地
  • 攻击复杂性: 低
  • 所需权限: 无
  • 用户交互: 无
  • 影响范围: 不变
  • 机密性影响: 低
  • 完整性影响: 低
  • 可用性影响: 低

验证方法

  1. 检查项目依赖中Apache Linkis的版本是否在受影响范围内
  2. 检查数据源管理模块中JDBC URL的参数处理逻辑

修复方案

方案一:版本升级(推荐)

将Apache Linkis升级到1.7.0或更高版本

方案二:源码修复

在SecurityUtils.java中实现checkUrlIsSafe方法,对JDBC URL中的危险参数进行检查和过滤:


private static final String BLACKLIST_REGEX = "autodeserialize|allowloadlocalinfile|allowurlinlocalinfile|allowloadlocalinfileinpath";

public static void checkUrlIsSafe(String url) {
    // 实现URL安全检查逻辑
    // 过滤黑名单参数
}