作者:Matteo Merli,Apache Pulsar PMC 主席,StreamNative CTO
近日,由于Apache Log4j2 某些功能存在递归解析功能,攻击者可直接构造恶意请求,触发远程代码执行漏洞。该漏洞的细节和修复进展可以参考 CVE-2021-44228[1].
Apache Pulsar 的当前版本捆绑受此漏洞影响的 Log4j2 版本。我们强烈建议您遵循 Apache Log4j 社区的建议并尽快修补您的系统。
针对 Apache Pulsar 系统而言,有两种解决方法可以修补 Pulsar 部署。您可以设置以下任一项:
1.Java属性: -Dlog4j2.formatMsgNoLookups=true
2.环境变量: LOG4J_FORMAT_MSG_NO_LOOKUPS=true
以上两种方法都可以有效缓解 Pulsar 服务的漏洞。
此外,当使用 Kubernetes 运行时运行 Pulsar Functions 时,您应该按照以下示例[2]更新 Docker 镜像。
如果您使用 Pulsar Helm Chart 在 Kubernetes 中进行 Pulsar 部署,该 Helm Chart[3] 的新版本已可用,并且已应用了上述解决方法。如果你的生产环境不适合将其升级,还可以通过将 -Dlog4j2.formatMsgNoLookups=true
添加到 configData
中的 PULSAR_EXTRA_OPTS
,用于 proxy、broker、BookKeeper、ZooKeeper、自动恢复和 helm 值文件中的相关组件来缓解该漏洞。
社区正在加速新的补丁发布,以及 2.7.4、2.8.2 与 2.9.1 版本的发布,这些版本将在未来几天内准备就绪,并将捆绑包含漏洞修复的 Log4j2 2.15.0 版本。
技术支持
如果您对该漏洞中 Apache Pulsar 相关事项有任何问题或疑虑,欢迎在 Apache Pulsar GitHub 仓库[4]提 issue,或者在 Pulsar 技术交流群中与社区交流。
引用链接
[1]
CVE-2021-44228: https://nvd.nist.gov/vuln/detail/CVE-2021-44228
[2]
以下示例: https://github.com/lhotari/pulsar-docker-images-patch-CVE-2021-44228
[3]
Helm Chart: https://github.com/apache/pulsar-helm-chart/releases/tag/pulsar-2.7.6
[4]
Apache Pulsar GitHub 仓库: https://github.com/apache/pulsar