第 7 章 已知问题
以下小节描述了版本 7.4 中的已知问题。
7.1. CVE 安全漏洞
作为中间件集成平台,Fuse 可以与大量第三方组件集成。并不总是可以排除 Fuse 的一些第三方依赖项可能具有安全漏洞。本节记录了影响 Fuse 7.4 的第三方依赖项的已知安全漏洞。
- ENTESB-12489 CVE-2019-9827 - Fuse Console standalone on Amazon Web Services
-
由于安全问题,您不应将独立 Fuse 应用程序部署到 Amazon Web Services (AWS)。这个限制适用于所有支持的独立环境(Spring Boot 1.x 和 2.x、Nastart 和 Red Hat JBoss Enterprise Application Platform)。如果要在 AWS 上部署 Fuse 控制台独立,强烈建议您升级到 Fuse 7.7 或更高版本,并通过将
hawtio.disableProxy
系统属性设置为true
来禁用 Fuse 控制台的代理 servlet。 - CVE-2017-12629 Solr/Lucene -security 直接访问敏感数据 - CVE-2017-12629
Apache Solr 是一个流行的开源搜索平台,它使用 Apache Lucene 搜索引擎。如果您的应用程序将 Apache Solr 与 Apache Lucene 结合使用(例如,使用 Camel Solr 组件时),则会受到这个安全漏洞的影响。有关此漏洞以及缓解步骤的详情,请参阅链接的安全公告。
注意Fuse 运行时 不会直接 使用 Apache Solr 或 Apache Lucene。只有在集成应用程序上下文中一起使用 Apache Solr 和 Apache Lucene 时(例如,在使用 Camel Solr 组件时),安全风险才会发生。
- 与 jackson-databind 安全漏洞相关的多个 CVE
使用 FasterXML
jackson-databind
库通过反序列化 JSON 内容来实例化 Java 对象的应用程序可能会受到 远程代码执行攻击的影响。此漏洞不是自动的,但如果您采取适当的缓解方案步骤,可以避免此漏洞。在攻击成为可能前,至少需要满足以下先决条件:
您已启用了 polymorphic 类型处理,以便在
jackson-databind
中反序列化 JSON 内容。在 Jackson JSON 中启用多语言类型处理有两种替代方法:-
结合使用
@JsonTypeInfo
和@JsonSubTypes
注释。 -
通过调用
ObjectMapper.enableDefaultTyping ()
方法。这个选项特别危险,因为它可以在全局范围内启用多形键入。
-
结合使用
Java 类路径中有一个或多个 gadget 类,这些类尚未由当前版本的
jackson-databind
列入黑名单。gadget 类被定义为执行敏感(可能被利用)操作的任何类,作为执行构造器或集合方法(这是在反序列化期间可调用的方法)的副作用。由 Jackson JSON 库维护的 gadget 黑名单是针对远程代码执行漏洞的最后一行。存在大量 gadget 类,它解释了为什么有许多与
jackson-databind
漏洞相关的独立 CVE。有不同的 CVE 与不同类型的 gadget 类相关。重要Fuse 将升级为在最早的机会中使用最新版本的
jackson-databind
。但是,Fuse 7.4.0 目前与最新版本的jackson-databind
不一致。
如果您需要在应用程序中使用
jackson-databind
库,您可以降低风险的最重要措施是: 避免 Jackson JSON 中的 polymorphic 类型处理,而在没有帐户时,应调用ObjectMapper.enableDefaultTyping ()
方法。