第7章 既知の問題


以下の項ではバージョン 7.3 の既知の問題について説明します。

7.1. CVE セキュリティー脆弱性

Fuse はミドルウェア統合プラットフォームであるため、多くのサードパーティーコンポーネントと統合される可能性があります。そのため、サードパーティーの依存関係の一部にセキュリティーの脆弱性がある可能性を常に排除することは困難です。ここでは、Fuse 7.3 のサードパーティーの依存関係に影響する既知のセキュリティー脆弱性について説明します。

ENTESB-12489 CVE-2019-9827 - Fuse Console standalone on Amazon Web Services
セキュリティーの懸念があるため、スタンドアロンの Fuse アプリケーションを Amazon Web Services (AWS) にデプロイしないでください。この制限は、サポートされるすべてのスタンドアロン環境 (Spring Boot 1.x および 2.x、Karaf、および Red Hat JBoss Enterprise Application Platform) に適用されます。AWS に Fuse Console スタンドアロンをデプロイする場合は、Fuse 7.7 以降にアップグレードし、hawtio.disableProxy システムプロパティーを true に設定して Fuse Console のプロキシーサーブレットを無効にすることが強く推奨されます。
CVE-2017-12629 Solr/Lucene -security bypass to access sensitive data - CVE-2017-12629

Apache Solr は、Apache Lucene 検索エンジンを使用する一般的なオープンソースの検索プラットフォームです。アプリケーションが Apache Solar と Apache Lucene の組み合わせ (Camel Solr コンポーネントを使用している場合など) を使用する場合、このセキュリティー脆弱性の影響を受ける可能性があります。この脆弱性の詳細と軽減策について、リンク先のセキュリティーアドバイザリーを確認してください。

注記

Fuse ランタイムは Apache Solr や Apache Lucene を直接使用 しません。統合アプリケーションで Apache Solr と Apache Lucene を一緒に使用する場合のみセキュリティー上のリスクが発生します (Camel Solr コンポーネントを使用する場合など)。

複数の CVE jackson-databind セキュリティー脆弱性に関連する複数の CVE

FasterXML jackson-databind ライブラリーを使用し、JSON コンテンツをデシリアライズして Java オブジェクトをインスタンス化するアプリケーションは、潜在的に リモートコード実行 攻撃に脆弱です。しかし、脆弱性は自動的に発生せず、適切な軽減策を講じれば回避することができます。

最低でも以下の前提条件をすべて満たさなければ攻撃を実行することはできません。

  1. jackson-databind の JSON コンテンツのデシリアライズに対し、ポリモーフィックな型の処理を有効にする必要があります。Jackson JSON でポリモーフィックな型の処理を有効にする方法は 2 つあります。

    1. @JsonTypeInfo および @JsonSubTypes アノテーションの組み合わせを使用します。
    2. ObjectMapper.enableDefaultTyping() メソッドを呼び出します。この方法はポリモーフィックな型をグローバルで有効にするため、危険です。
  2. 現在のバージョンの jackson-databind によってブラックリストに指定されていない ガジェットクラス が 1 つ以上 Java クラスパスにあります。ガジェットクラスは、機密性の高い (潜在的に悪用可能な) 操作を、constructor または setter メソッド (デシリアライズ中に呼び出しできるメソッド) の実行による副次的な影響として定義します。Jackson JSON ライブラリーによって維持されるガジェットブラックリストは、リモートコード実行の脆弱性から守るための最後の手段になります。

jackson-databind の脆弱性に関して多くの CVE が存在するのは、多数のガジェットクラスが存在するためです。ガジェットクラスの種類別に異なる CVE が存在します。

アプリケーションで jackson-databind を使用する必要がある場合、Jackson JSON でポリモーフィックな型の処理を行わないようにし、ObjectMapper.enableDefaultTyping() メソッドを絶対に呼び出さないことが、リスクを軽減する最も重要な対策になります。

7.2. Fuse Online

Fuse Online ディストリビューションの既知の問題は次のとおりです。

ENTESB-10577 Apicurito does not support YAML Open API spec files
Fuse 7.3.0 on OpenShift では、Apicurito はデフォルトで OpenAPI 仕様ファイルを YAML 形式で生成しますが、生成された YAML ファイルを再インポートできません。現在、JSON 形式のみを Apicurito にインポートできます。
667 'null' when using "ItemAt" transformation from List<> Number
ItemAt 変換を使用して List から Double へマップすると、データマッパーによって例外がスローされます。
1558 "Save as draft" and "Publish" buttons
Save as draft ボタンと Publish ボタンのいずれかをクリックし、手順が開始されても、両方のボタンがアクティブなままになります。
698 DB Connector: SQL parser doesn’t recognize parameters for LIKE
LIKE キーワードが含まれる SQL ステートメント (例: DELETE FROM TODO WHERE task LIKE ‘:#param’) では、LIKE キーワードを :#param などのデータマッパーパラメーターとともに使用できません。

7.3. Fuse on OpenShift

このセクションでは、OpenShift 上の Fuse アプリケーションのデプロイメントに影響する問題を取り上げます。特定のコンテナーに影響する問題の詳細は、Spring Boot、Fuse on Apache Karaf、および Fuse on JBoss EAP のセクションも参照にしてください。Fuse on OpenShift ディストリビューションの既知の問題を以下に示します。

ENTESB-10577 Apicurito does not support YAML Open API spec files
Fuse 7.3.0 on OpenShift では、Apicurito はデフォルトで OpenAPI 仕様ファイルを YAML 形式で生成しますが、生成された YAML ファイルを再インポートできません。現在、JSON 形式のみを Apicurito にインポートできます。
ENTESB-9420 karaf-camel-rest-sql: Build creation stuck on "Receiving source from STDIN as archive"
初期のマイクロバージョンの OpenShift Container Platform (OCP) 3.10 にFuse アプリケーションをビルドまたはデプロイしようとすると、エラーが発生し、ビルドがハングする可能性があります。この問題が発生した場合、この問題が修正されている OCP 3.10.34 (またはそれ以降) にアップグレードすることが推奨されます。
CDK-397 OCP preflight check uses docker v1 API which is no longer available

一部の古い CDK バージョンを使用すると、minishift の起動時に以下のエラーが発生する可能性があります。

minishift start
-- Starting profile 'minishift'
-- Check if deprecated options are used ... OK
-- Checking if https://mirror.openshift.com is reachable ... OK
-- Checking if requested OpenShift version 'v3.11.16' is valid ... FAIL

この問題を回避するには、Fuse 7.3 で CDK 3.8 以上を使用します。

ENTESB-10362 multiple class javax/activation/DataHandler from different bundles

Fuse on OpenShift にデプロイされた Karaf ベースのアプリケーションがメッセージの添付を使用する場合 (暗黙的な javax.activation パッケージの依存関係)、この問題の影響を受けます。通常、以下のようなエラーメッセージが発生します。

Caused by: java.lang.LinkageError: loader constraint violation: when resolving overridden method "org.apache.cxf.jaxrs.provider.JAXBAttachmentMarshaller.addMtomAttachment(Ljavax/activation/DataHandler;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;" the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoader) of the current class, org/apache/cxf/jaxrs/provider/JAXBAttachmentMarshaller, and its superclass loader (instance of <bootloader>), have different Class objects for the type javax/activation/DataHandler used in the signature

OpenShift にデプロイされた Karaf ベースのアプリケーションからこのようなエラーメッセージが出力された場合、アプリケーションの Maven プロジェクトを以下のように編集すると、この問題を修正できます。Maven プロジェクトで新しい jre.properties ファイルを以下の場所に作成します。

src/main/resources/assembly/etc/jre.properties

そして、サンプルの jre.properties ファイルからコンテンツを追加します。

アプリケーションが再デプロイされたとき、このカスタム jre.properties ファイルは Karaf マイクロコンテナーの デフォルトの JRE プロパティーをオーバーライドします。特に、jre.properties ファイルはデフォルトでは存在しない以下の行を jre-1.8 プロパティーに追加します。

javax.activation;version="1.1", \
注記

Fuse スタンドアロンの Apache Karaf はこの問題の影響を受けません。

7.4. Fuse on Spring Boot

Fuse on Spring Boot の既知の問題は次のとおりです。

ENTESB-10486 Failing CXF tests on AIX using Karaf runtime

Fuse 7.3 GA リリースでは、IBM AIX 7.2 プラットフォーム上で Apache CXF を Spring Boot スタンドアロンコンテナーと使用するには以下の回避策が必要です。Spring Boot アプリケーションを実行するときに、Java システムプロパティー java.version=1.8.0_131 を設定します。たとえば、Spring Boot アプリケーションを Maven プロジェクトから実行するには、以下を実行します。

mvn spring-boot:run -Djava.version=1.8.0_131

7.5. Fuse on Apache Karaf

Fuse on Apache Karaf の既知の問題は次のとおりです。

ENTESB-10487 keycloak-cxf quickstart test fails with RH-SSO 7.3.0.GA
Fuse 7.3 GA リリースでは、Apache Karaf のクイックスタートパッケージに quickstarts/security/keycloak/keycloak-cxf クイックスタートが含まれています。Red Hat Single Sign-On(RH-SSO)7.3.0.GA に対してこのクイックスタートをテストする場合は、verify-token-audience プロパティーが etc/jaxws-keycloak.json ファイルおよび etc/jaxrs-keycloak.json ファイルの false に設定されていることを確認する必要があります。詳細は ENTESB-10487 を参照してください。
ENTESB-10486 Failing CXF tests on AIX using Karaf runtime

Fuse 7.3 GA リリースでは、IBM AIX 7.2 プラットフォーム上で Apache CXF を Apache Karaf コンテナーと使用するには以下の回避策が必要です。$KARAF_HOME/etc/system.properties ファイルを編集し、以下の行を追加します。

java.version=1.8.0_131
ENTESB-8140 Start level of hot deploy bundles is 80 by default

Fuse 7.0 GA リリースの Apache Karaf コンテナーでは、ホットデプロイバンドルの開始レベルがデフォルトで 80 になっています。これにより、同じ開始レベルを持つシステムバンドルや機能が多く存在するため、ホットデプロイバンドルに問題が発生することがあります。この問題を回避し、ホットデプロイバンドルが確実に開始するようにするには、etc/org.apache.felix.fileinstall-deploy.cfg ファイルを編集し、felix.fileinstall.start.level 設定を以下のように変更します。

felix.fileinstall.start.level = 90
ENTESB-7664 Installing framework-security feature kills karaf

framework-security オプションを使用して --no-auto-refresh OSGi 機能をインストールしないと、Apache Karaf コンテナーがシャットダウンします。以下に例を示します。

feature:install -v --no-auto-refresh framework-security

7.6. Fuse on JBoss EAP

Fuse on JBoss EAP の既知の問題は次のとおりです。

ENTESB-10400 Performance regression in camel-cbr-xpath integration example on EAP
Fuse 7.3 on JBoss EAP での XPath と Camel の統合に影響するパフォーマンス低下がテストによって発見されました。テストケースには、指定の XPath 式に対してメッセージの内容を評価するCamel のコンテンツベースルートが関係します。
ENTESB-10401 Performance regression in camel-cxf-proxy-xslt integration example on EAP
Camel XSLT コンポーネントと Fuse 7.3 on JBoss EAP の統合に影響するパフォーマンス低下がテストによって発見されました。テストケースには、SOAP メッセージの CXF エンドポイントへの送信が関係し、Camel XSLT コンポーネントを介して呼び出される XSL スクリプトによってメッセージが処理されます。
ENTESB-10402 Performance regression in Fuse Http Camel SSH integration example on EAP
Camel SSH コンポーネントと Fuse 7.3 on JBoss EAP の統合に影響するパフォーマンス低下がテストによって発見されました。テストケースには、HTTP メッセージの Jetty HTTP エンドポイントへの 送信が関係し、SSH エンドポイントの呼び出しにメッセージが使用されます (Camel SSH コンポーネントを使用)。

7.7. Apache Camel

Apache Camel の既知の問題は次のとおりです。

ENTESB-7469 Camel Docker component cannot use Unix socket connections on EAP
Fuse 7.0 より、camel-docker コンポーネントは UNIX ソケットではなく REST API のみを介して Docker に接続できます。
ENTESB-5231 PHP script language does not work
PHP の OSGi バンドルがないため、PHP スクリプト言語は Apache Karaf コンテナー上の Camel アプリケーションでサポートされません
ENTESB-5232 Python language does not work
Python の OSGi バンドルがないため、Python スクリプト言語は Apache Karaf コンテナー上の Camel アプリケーションでサポートされません
ENTESB-2443 Google Mail API - Sending of messages and drafts is not synchronous
メッセージまたは下書きを送信すると、応答には ID を持つ Message オブジェクトが含まれます。API への別の呼び出しを介してこのメッセージを即座に取得できない可能性があります。このような場合、待機して呼び出しを再試行する必要があります。
ENTESB-2332 Google Drive API JSON response for changes returns bad count of items for the first page
変更に対する Google Drive API JSON 応答によって返される最初のページのアイテム数は適切でありません。リスト操作の maxResults を設定すると、最初のページにすべての結果が返されないことがあります。この場合、複数のページを確認して完全リストを取得する必要があります (新しいリクエストに pageToken を設定して行います)。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.