共计 2189 个字符,预计需要花费 6 分钟才能阅读完成。
作者:Matteo Merli,StreamNative CTO,Apache Pulsar PMC 主席;Addison Higham,StreamNative 主管工程师,Apache Pulsar Committer。
本文译自 StreamNative 英文博客,原文链接:https://streamnative.io/blog/…,更多详情请参考 StreamNative 公众号。
此文于本周二更新,具体增加了最新的 Log4j 破绽如何影响其余 Pulsar 生态系统工具的详细信息。
上周末,Apache 开源我的项目 Log4j 2.16.0 被曝出新的破绽,Log4j 紧急公布 2.17.0 版本。本文为大家提供最新版 Apache Pulsar 无关 Log4Shell 要害破绽(即 log4j)的更新。以下列举了开源版本 Apache Pulsar 中破绽的状态,以及须要解决安全漏洞所需采取的措施。
破绽影响与我的项目状态更新
目前总共发现了三个影响 log4j 的 CVE。在这三个破绽中,默认状况下只有两个影响 Apache Pulsar。Pulsar 社区始终在致力修补所有三个 CVE 造成的破绽影响。截至目前,Pulsar 版本 2.9.1 和 2.8.2 已更新 log4j 版本并解决所有已知破绽造成的影响。Pulsar 2.7 和 2.6 的新版本公布正在进行中。下表总结了 log4j 破绽的影响和解决破绽影响的操作。
解决方案
非标准 log4j / Pulsar Functions 和过程运行时用户解决方案
如上所示,如果用户配置了 customer log4j 模板字符串或通过过程运行时(Process Runtime)应用 Pulsar Functions,即便配置了 no message lookup 解决措施,内部也能够利用 log4j 进行破绽攻打。总而言之,如果用户已将 log4j 模板字符串配置为蕴含对上下文对象($${ctx:}
、%x
、%mdc
等)的援用,或者通过过程运行时应用 Pulsar Functions,那么你的零碎可能面临危险。咱们倡议用户删除自定义设置,如果必须通过过程运行时应用 Pulsar Functions 的话则降级到 Pulsar 2.8.2 或 2.9.1 版本。
Pulsar Functions 用户解决方案
用 Java 编写的 Pulsar Functions 须要重新部署来取得更新的值。该操作相似于应用 pulsar-admin functions update 命令,示例请参阅 https://pulsar.apache.org/doc…。
Apache Pulsar 开源版本解决方案
如果您应用的是开源版本 Pulsar,请参阅博客文章。此外,咱们激励您尽可能降级到 2.8.2 或 2.9.1 版本。此外,开源或 StreamNative Helm charts 的用户不须要期待 helm chart 中的镜像更新,能够指定新版本。
周边生态相干更新
以下咱们列举了 Pulsar 生态系统中一些工具,并针对其是否受到影响进行解答。
- Pulsar Manager – Pulsar Manager 不受 log4j 破绽的间接影响。Pulsar Manager 是应用 spring 框架构建的,它应用 logback 进行日志记录。Logback 也受到破绽的影响,但与 log4j 破绽不同的是,它须要权限间接编辑 logback 配置文件,这大大降低了问题的严重性。咱们将在 spring 公布修复版本后公布 Pulsar Manager 新版本。
- Pulsar Spark/Flink Connector – Pulsar 的 Apache Flink 和 Apache Spark Connector 都不会间接受到影响。两个 Connector 都不间接蕴含 log4j,而是基于你所用的 Flink 或 Spark 公布版本中绑定的 log4j。降级 Flink 或 Spark 将解决这个问题。
- Pulsar IO Connector – Pulsar IO 中的 Connector(默认状况下)自身不蕴含 log4j,而是依赖于 Pulsar IO 框架提供的 log4j。依照上文阐明并重新部署 Connector 将解决破绽问题。本倡议实用于 Pulsar 中蕴含的所有 Connector 以及 StreamNative 开源并反对的 Connector。本人定制开发的 Connector 可能须要独立验证。
其余无关 log4j 安全漏洞的 FAQ
- 本次安全漏洞的重大水平。
潜在的问题可能十分重大,近程代码执行 (RCE) 破绽会使任意代码重大裸露零碎受到攻击者造成的更多毁坏,从而可能取得残缺的零碎拜访权限。目前未发现针对 Apache Pulsar 的已知 RCE 破绽利用。然而,咱们仍倡议器重此问题,因为执行代码的机制很简单,并且存在许多潜在的可能性。裸露环境变量或其余环境数据都有可能造成攻打。Apache Pulsar 社区 强烈建议用户立刻采取措施。
- 开源版本的公布为何须要较长时间?
公布开源 Pulsar 新版本波及遵循社区中明确定义的流程。因为在过来一周发现了其余破绽,社区 / Pulsar PMC(项目管理委员会)决定屡次重新启动公布流程,以蕴含最新版本的 log4j 来解决所有未解决的问题。
其余无关 log4j 安全漏洞的 FAQ
Apache Pulsar 针对 Log4j2 破绽 (CVE-2021-44228) 的解决方案
关注 公众号「Apache Pulsar」,获取干货与动静
退出 Apache Pulsar 中文交换群 👇🏻