【问题标题】:-Dlog4j.formatMsgNoLookups=true OR -Dlog4j2.formatMsgNoLookups=true - which is correct?-Dlog4j.formatMsgNoLookups=true 或 -Dlog4j2.formatMsgNoLookups=true - 哪个是正确的?
【发布时间】:2022-01-17 13:27:40
【问题描述】:

哪个是正确的?

  • -Dlog4j.formatMsgNoLookups=true

  • -Dlog4j2.formatMsgNoLookups=true

或者两者都在工作?
参考:
log4j:https://dev.to/composite/how-to-pass-the-log4j2-vulnerability-quick-453h

log4j2: 1) https://spring.io/blog/2021/12/10/log4j2-vulnerability-and-spring-boot
2) https://www.cvedetails.com/cve/CVE-2021-44228/
N) 等等...

【问题讨论】:

  • 当前答案不正确,只有 log4j2.* 有效。但是,已经发现了一个新漏洞,这种缓解措施对其无效:CVE-2021-45046(尽管您的应用程序不太可能受到该漏洞的攻击)

标签: log4j log4j2


【解决方案1】:

编辑:作为remarked by Markono1234,这个特殊属性是在Log4j 2.10 中引入的,唯一正确的形式log4j2.formatMsgNoLookups(参见source code)。 p>

大多数剩余属性有两种形式:2.10 之前的 log4j.* 旧属性名称和新的规范化 log4j2.* 名称。详情见Log4j system properties

请注意,从 Log4j 2.10 开始,所有系统属性名称都已标准化以遵循一致的命名方案。虽然仍支持旧属性名称以实现向后兼容性,但建议更新配置以使用新样式。

【讨论】:

  • 除了 security page 中提到的只有版本 >= 2.10 支持该属性。请调整您的答案。另请注意,此系统属性不能防止新发现的CVE-2021-45046(尽管您的应用程序不太可能受到此攻击)。
猜你喜欢
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 2022-01-17
  • 1970-01-01
  • 2012-10-21
  • 2018-06-15
  • 2022-01-16
  • 2022-12-08
相关资源
最近更新 更多