基本信息
漏洞编号: 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环境)
漏洞特征
- 攻击向量: 本地
- 攻击复杂性: 低
- 所需权限: 无
- 用户交互: 无
- 影响范围: 不变
- 机密性影响: 低
- 完整性影响: 低
- 可用性影响: 低
验证方法
- 检查项目依赖中Apache Linkis的版本是否在受影响范围内
- 检查数据源管理模块中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安全检查逻辑
// 过滤黑名单参数
}