CVE-2025-59355CVE-2025-59355是Apache Linkis中的一个信息泄露漏洞。该漏洞存在于org.apache.linkis.metadata.util.HiveUtils.decode()方法中,当该方法执行Base64解码失败时,会将完整的输入参数字符串记录到日志文件中。如果输入参数包含敏感信息(如Hive Metastore密钥、数据库密码等),在解码失败的情况下,这些明文敏感信息会被写入日志,从而导致信息泄露。攻击者只需要提供包含敏感信息的无效Base64字符串作为配置值,即可利用此漏洞获取明文密码。该漏洞的CVSS评分为6.5,属于中等严重程度,主要影响Apache Linkis 1.0.0至1.7.0版本。
漏洞根源在于HiveUtils.decode()方法的异常处理逻辑。当接收到无效的Base64字符串时,该方法会调用logger.error(str + "decode failed", e),其中str是完整的输入参数字符串。这意味着如果配置项(如hive-site.xml中的javax.jdo.option.ConnectionPassword)的值是一个无效的Base64字符串,该字符串的原始内容会被完整记录到日志中。攻击者只需构造一个包含敏感信息的字符串作为配置值,当解码失败时,这些敏感信息就会以明文形式出现在日志文件中。漏洞的触发条件包括:配置项值为无效Base64字符串,且日志文件被非授权用户读取。由于Base64解码失败概率较低,且需要日志文件被暴露,因此该漏洞的实际利用难度中等。修复方案已在Apache Linkis 1.8.0中实现,将日志输出改为logger.error("URL decode failed: {}", e.getMessage()),不再输出原始输入字符串。