Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-91858 — CVE-2026-91858(サードパーティ製TransformerFactoryを経由したApache Camel camel-fopのXXE)の再現可能なSpring BootおよびQuarkusの再現プログラム。影響を受けるバージョンと修正済みバージョンの検証を含む。 | Kitploit
ツール/GitHubGitHub/oscerd/cve-2026-91858
防御ツール脆弱性分析エクスプロイトウェブアプリケーション悪用学習と教育
GitHuboscerd/cve-2026-91858

CVE-2026-91858

CVE-2026-91858(サードパーティ製TransformerFactoryを経由したApache Camel camel-fopのXXE)の再現可能なSpring BootおよびQuarkusの再現プログラム。影響を受けるバージョンと修正済みバージョンの検証を含む。

リポジトリを見る
1019時間12分前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-91858 — camel-fop: サードパーティ製 TransformerFactory を介した XML 外部エンティティ (XXE)

Apache Camel の脆弱性に対する実行可能な概念実証 (PoC) 再現プログラムです。この脆弱性では、camel-fop の FopProducer が XSL-FO メッセージ本文に対して identity transform を実行する前に、javax.xml.transform.TransformerFactory を FEATURE_SECURE_PROCESSING のみで作成していました。JDK 組み込みのトランスフォーマーでは、この機能だけで accessExternalDTD/accessExternalStylesheet の制限が既に空になるため、外部リソースは拒否されます。しかし、Saxon-HE などのサードパーティ製 JAXP TransformerFactory がクラスパス上にある場合 — 例えばアプリケーションが camel-xslt-saxon や camel-saxon も使用している場合 — TransformerFactory.newInstance() はその実装を返し、FEATURE_SECURE_PROCESSING だけではその実装の外部リソースアクセスを制限しません。そのため、XSL-FO 本文で宣言された外部サブセットを持つ DOCTYPE が本文の変換時に解決され、外部送信者のドキュメントが Camel プロセスから読み取り可能なファイルを読み取ったり、指定したホストへのリクエストを発行させたりすることが可能になります (CWE-611)。

ランタイムディレクトリスタック
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-fop 4.22.0 (影響あり、修正版 4.22.1) + Saxon-HE 13.0
Camel Quarkuscamel-quarkus/Quarkus 3.39.0 + camel-quarkus-fop (Camel 4.22.0、影響あり、修正済みコントロール CQ 3.40.0 / Camel 4.22.1) + Saxon-HE 13.0

両モジュールとも、実際の FopProducer に対して影響を受ける動作および修正済みの動作を実証します。両方とも Saxon-HE がクラスパス上にあります — これがこの欠陥の前提条件です。JDK のトランスフォーマーを使用するデフォルトのデプロイは、修正前も修正後も影響を受けません。

実証内容

検証エンドポイント /exploit/attack は、インプロセスの HTTP コールバックを起動し、そのコールバックを指す外部 DTD を DOCTYPE で宣言した XSL-FO ドキュメントを fop:pdf に送信します:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fo:root SYSTEM "http://localhost:<port>/external.dtd">
<fo:root …>…Hello…</fo:root>

オラクルは単純にコールバックが要求されたかどうかであり、外部リソースが取得されたことの決定的な証明です:

  • 脆弱: TransformerFactory.newInstance() は Saxon を返し、セキュア処理のみの下でも依然として外部 DTD を取得します — コールバックが発火します(同じメカニズムで file:// URL も読み取られます)。
  • 修正済み: ACCESS_EXTERNAL_DTD が "" に設定されているため、Saxon は外部 DTD を拒否します。コールバックは決して発火しません。
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: callback hit = true; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -Djava.awt.headless=true -jar target/cve-2026-91858-fop-xxe-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: callback hit = false; >>> Not exploited
# Camel Quarkus
cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected (Camel 4.22.0): callback hit = true
docker compose down
# Patched control: CQ 3.40.0 ships Camel 4.22.1
mvn clean package -Dcamel-quarkus.version=3.40.0 -Dquarkus.platform.version=3.40.0
java -Djava.awt.headless=true -jar target/quarkus-app/quarkus-run.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: callback hit = false

脆弱性の概要

プロパティ値
コンポーネントcamel-fop (FopProducer)
CWECWE-611 (XML外部エンティティ参照の不適切な制限)
深刻度MEDIUM
攻撃ベクトル外部送信者のXSL-FOがfop:プロデューサーに到達する。ただし、サードパーティ製のJAXP TransformerFactory(例: Saxon-HE)がクラスパス上に存在するデプロイメントに限る
影響Camelプロセスが読み取り可能なローカルファイルの読み取り、ドキュメントが指定する内部ホストへのSSRF
影響を受けるバージョン4.0.0から4.18.5未満、4.19.0から4.22.1未満(非JDKのTransformerFactoryが存在する場合のみ)
修正済みバージョン4.18.5、4.22.1、4.23.0
JIRACAMEL-24605
クレジットClaude Security Scan Tool

アドバイザリ: https://camel.apache.org/security/CVE-2026-91858.html

Quarkusの影響を受けるモジュールはCQ 3.39.0(Camel 4.22.0)でビルドされています。修正済みのコントロールはCQ 3.40.0(Camel 4.22.1)です。 Saxon-HE 13.0は、camel-xslt-saxon/camel-saxonも使用するアプリケーションの代替として両方のモジュールに追加されています。 非JDKのTransformerFactoryが存在しない場合、この脆弱性には到達できません。

修正内容

FopProducerは、生成するTransformerFactoryに対して(FEATURE_SECURE_PROCESSINGに加えて)XMLConstants.ACCESS_EXTERNAL_DTDと XMLConstants.ACCESS_EXTERNAL_STYLESHEETも空文字列に設定するようになりました。これはXmlConverterで使用されている安全なXML処理設定と一致します。したがって、Saxon-HEを含む、これらの属性を尊重するあらゆるJAXP実装において、外部DTDおよびスタイルシートへのアクセスは拒否されます。

アップグレードできない場合の緩和策

信頼できないXSL-FOをfop:プロデューサーに送信しないか、代替のJAXP TransformerFactory(Saxon-HEなど)をクラスパスから削除して、JDKのトランスフォーマー(安全な処理の下ではすでに外部DTDを拒否します)が使用されるようにしてください。

免責事項

このリポジトリは教育および防御目的で公開されています。Apache Camelユーザーが脆弱性を理解し、影響を受けているかどうかを確認し、アップグレードによって解決されることを検証できるようにするためです。外部DTDはlocalhost上のインプロセスコールバックを指しており、再現ツールの外部とは一切通信せず、機密ファイルも読み取りません。所有または運用していないシステムに対してこの資料を使用しないでください。

ツールをダウンロード