【问题标题】:Dynamic Code Evaluation: Unsafe Deserialization (Spring Boot 2) - how to avoid actuator related fortify issue, or is it a false positive?动态代码评估:不安全的反序列化(Spring Boot 2) - 如何避免与执行器相关的强化问题,还是误报?
【发布时间】:2019-03-27 11:41:57
【问题描述】:

我正在使用以下执行器依赖项

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

使用弹簧靴 2,

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.5.RELEASE</version>
</parent>

任何与 fortify 相关的漏洞的 cmets,或者我们是否有任何理由获得关于 fortify 问题的误报。

【问题讨论】:

  • 强化检查工件是否不包含任何 CVE。如您所见,Spring-boot 2.0.5(spring.io/blog/2018/09/12/spring-boot-2-0-5) 在该版本中宣布了一个安全更新。所以对于 Fortify 来说,知道你使用哪个版本的 spring-boot 来帮助它考虑是否是 FP 似乎很重要
  • 我正在使用 Spring boot 2.1.2,并且从依赖项文件夹中我看到它使用的是 Jackson 2.9.8 版本,即使这样我也看到 Fortify 报告了与 &lt;artifactId&gt;spring-boot-starter-actuator&lt;/artifactId&gt; 行相同的问题所以看起来这不是因为杰克逊。 Fortify 也将其视为关键问题。
  • @VC2019 这里也一样。你找到解决方案了吗?在此处使用 Spring Boot 2.1.9。
  • 我可以通过查看这篇帖子stackoverflow.com/questions/61141809/…来解决这个问题

标签: spring-boot-actuator fortify


【解决方案1】:

我怀疑 Fortify 提出的问题不是因为 spring-boot-starter-actuator 本身,而是因为它对包含 deserialization of untrusted data vulnerability 的 Jackson 的传递依赖。但是,对于易受攻击的应用程序,非默认且可能非常不寻常的一组情况必须是真实的。您可以通过 Jackson 的作者this blog post 了解有关这些情况的更多信息。 Spring Boot 的 Actuator 不启用多态类型处理,因此,如果 Fortify 警告是由于 Jackson 引起的,则为误报。

Jackson 2.9.7 中的漏洞是 fixed,通过阻止某些类进行多态反序列化。 Spring Boot 2.0.6 和 2.1.0 默认使用 Jackson 2.9.7。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-08
  • 1970-01-01
  • 1970-01-01
  • 2021-04-11
  • 2018-02-05
  • 1970-01-01
  • 2018-09-25
相关资源
最近更新 更多