第 7 章 已知问题


以下小节描述了 7.6 中的已知问题。

7.1. CVE 安全漏洞

作为中间件集成平台,Fuse 可能会与大量第三方组件集成。无法始终排除 Fuse 的一些第三方依赖项可能会存在安全漏洞。本节记录了影响 Fuse 7.6 第三方依赖项的已知安全漏洞。

ENTESB-12489 CVE-2019-9827 - Amazon Web Services 上的 Fuse 控制台独立
由于安全问题,您不应将独立 Fuse 应用程序部署到 Amazon Web Services (AWS)。这个限制适用于所有支持的独立环境(Spring Boot 1.x 和 2.x、4.X、Red Hat JBoss Enterprise Application Platform)。如果要在 AWS 上部署 Fuse 控制台独立,强烈建议您升级到 Fuse 7.7 或更高版本,并通过将 hawtio.disableProxy 系统属性设置为 true 来禁用 Fuse Console 的代理 servlet。
CVE-2017-12629 Solr/Lucene -security 绕过访问敏感数据 - CVE-2017-12629

Apache Solr 是一个流行的开源搜索平台,它使用 Apache Lucene 搜索引擎。如果您的应用程序使用 Apache Solr 与 Apache Lucene (例如,使用 Camel Solr 组件)的 Apache Solr 的组合,则可能会受此安全漏洞的影响。有关此漏洞的详情以及要采取的缓解方案,请参阅链接的安全公告。

注意

Fuse 运行时 不直接 使用 Apache Solr 或 Apache Lucene。只有在集成应用程序上下文中同时使用 Apache Solr 和 Apache Lucene 时(例如,使用 Camel Solr 组件时),才会出现安全风险。

jackson-databind 安全漏洞相关的多个 CVE

使用 FasterXML jackson-databind 库的应用程序通过取消序列化 JSON 内容来实例化 Java 对象,可能会受到 远程代码执行攻击的影响。但是,这个漏洞不是自动的,如果您进行适当的缓解方案步骤,可以避免这样做。

在攻击可能前,必须至少满足以下先决条件:

  1. 您已启用了 polymorphic 类型处理,以便在 jackson-databind 中对 JSON 内容进行反序列化处理。在 Jackson JSON 中,有两种启用 polymorphic 类型处理的方法:

    1. 使用 @JsonTypeInfo@JsonSubTypes 注释的组合。
    2. 通过调用 ObjectMapper.enableDefaultTyping () 方法。这个选项特别危险,因为它可以有效地全局启用多态输入。
  2. 您的 Java 类路径中有一个或多个 gadget 类,这些类尚未由当前版本 jackson-databind 列入黑名单。gadget 类被定义为执行敏感(可能被利用)操作的任何类,作为执行构造器或 setter 方法(这是可在反序列化过程中调用的方法)的副作用。Jackson JSON 库维护的 gadget 黑名单是针对远程代码执行漏洞的 defence 的最后一行。

    它存在大量 gadget 类,它解释了为什么有多个与 jackson-databind 漏洞相关的 CVE。有不同的 CVE 与不同类型的小工具类相关。

如果您需要在应用程序中使用 jackson-databind 库,您可以采取最重要的措施来降低风险: 避免 Jackson JSON 中的 polymorphic 类型处理,且无帐户应调用 ObjectMapper.enableDefaultTyping () 方法

ENTESB-12539 CVE-2019-10086 commons-beanutils: apache-commons-beanutils: 不阻止 PropertyUtilsBean 中的类属性 [fuse-7.4.0]

Camel Dozer、camel-dozer、组件和 Camel Shiro、camel-shiro 的组件依赖于具有 CVE 安全漏洞的 commons-beanutils 库版本。如果您在以下容器之一中部署 Camel Dozer 或 Camel Shiro 组件,则应用程序可能会受到此安全漏洞的影响:

  • Spring Boot 1 容器
  • Spring Boot 2 容器
  • JBoss EAP 容器

对于 Spring Boot 1 和 Spring Boot 2 容器类型,您可以通过自定义项目的 Maven POM 文件中的依赖项来临时解决这个安全漏洞。

对于 JBoss EAP 容器类型,此时 没有可用的临时解决方案,因此我们建议您不要使用带有 EAP 上 Fuse 的 Camel Shiro 组件。发布 Fuse 7.6.0 后,会提供补丁来修复 EAP 上的 Fuse 中的 common-beanutils 依赖项。联系红帽支持以获取有关补丁的详细信息。

要临时解决这个问题 Spring Boot 1 和 Spring Boot 2,请修改应用程序的 Maven POM 文件,如下所示:例如,假设对 camel-dozer-starter 工件的依赖项,如下所示:

        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-dozer-starter</artifactId>
        </dependency>
Copy to Clipboard Toggle word wrap

修改前面的依赖项,将其替换为以下行:

        <dependency>
            <groupId>org.apache.camel</groupId>
            <artifactId>camel-dozer-starter</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>commons-beanutils</groupId>
                    <artifactId>commons-beanutils</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.9.4.redhat-00002</version>
        </dependency>
Copy to Clipboard Toggle word wrap
注意

Apache Karaf 容器不受此问题的影响,因为它已默认使用 commons-beanutils 库的安全版本,Fuse Online 不受影响,因为它不使用 Camel Dozer 或 Camel Shiro 组件。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat