我想找到当前版本 (2.15.0) 之前的 log4j 的所有用法。
我尝试使用 maven 的“mvn dependency:tree”,使用了几个工具(dependency-check、grype(对我不起作用)、syft(对我不起作用)、log4j-detector) 但它们只列出在 pom.xml 中指定后生成的类。
但是 - 这是我的担忧:
例如我正在使用一个名为 hibernate-validator (Hibernate Validator Engine) 的库。我确信这个引擎使用 Jboss 日志记录,而 Jboss 日志又使用 log4j 2.11.2,但我上面的工具都没有警告我这一点。我如何找出哪些库使用 log4j?
或者外部库不会对这个漏洞构成威胁?
请指教。
最佳答案
Hibernate Validator 在这里领先。您的依赖树中没有它,因为 Hibernate Validator 和 JBoss Logging 根本不使用它。
Hibernate Validator 对 Log4j 2 有一个测试依赖,但它只是一个测试依赖。因此,为什么您没有在您的依赖关系树中看到它,这是准确的。
我正在发布具有更新的测试依赖项的新 HV 版本,但这对您的应用程序来说不是问题,它们不会通过 Hibernate Validator 依赖 Log4j 2。
参见 https://github.com/hibernate/hibernate-validator/blob/main/engine/pom.xml#L119 .
更新:为了避免安全扫描器的误报,我发布了 Hibernate Validator 7.0.2.Final 和 6.2.1.Final。
https://stackoverflow.com/questions/70339578/