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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-88901 — CVE-2026-88901(Apache Camel camel-smooks における XXE(CWE-611)脆弱性)を再現する実行可能な Spring Boot の概念実証。影響を受ける実行とパッチ適用済みの対照実行を含む。 | Kitploit
ツール/GitHubGitHub/oscerd/cve-2026-88901
防御ツール脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティ学習と教育
GitHuboscerd/cve-2026-88901

CVE-2026-88901

CVE-2026-88901(Apache Camel camel-smooks における XXE(CWE-611)脆弱性)を再現する実行可能な Spring Boot の概念実証。影響を受ける実行とパッチ適用済みの対照実行を含む。

リポジトリを見る
52日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-88901 — camel-smooks: XML外部エンティティ (XXE) 処理

Apache Camelの脆弱性に対する実行可能な概念実証 (PoC) 再現プログラムです。この脆弱性では、Smooksデータフォーマット (.unmarshal().smooks(...)) と Smooksコンポーネント (smooks:) が、受信したXMLボディをSmooksがデフォルトで 解決するリーダー (Woodstox SAXパーサー) で解析していました。このリーダーは外部の一般エンティティおよびパラメータ エンティティを解決し、外部DTDを読み込みます — そして camel-smooks は、他のCamel XMLコンポーネントが適用している パーサーハードニングを一切適用していませんでした。したがって、XMLドキュメント内で宣言された外部サブセットを持つ DOCTYPE、または外部の一般エンティティは、ボディがアンマーシャルされる際に解決・展開され、解決された内容が結果に バインドされます。XMLが camel-smooks のデータフォーマットやエンドポイントに到達する外部の送信者は、Camelプロセスが 読み取り可能なファイルを読み取ったり、プロセスに内部ホストへのリクエストを発行させたりする可能性があります (CWE-611)。 非デフォルトのオプションは不要です — 外部エンティティの解決がデフォルトの動作でした。

Spring Bootのみ。 この再現プログラムには単一のCamel Spring Bootモジュールが含まれています。camel-smooks には camel-quarkus-smooks 拡張機能が存在しないため、再現すべきQuarkus版の対応物はありません。Spring Bootモジュールは、 影響を受ける動作および修正後の動作を示します。

ランタイムディレクトリスタック
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-smooks 4.22.0 (影響あり; 修正版 4.22.1)

実証内容

ドライバーは修正自体の回帰テスト (SmooksDataFormatXmlSecurityTest) を模倣しています。無害なマーカーファイルが 一時ディレクトリに書き込まれ、XMLの <customer> ドキュメントが、標準の smooks-config.xml (ドキュメントを Customer Beanにバインドする) を用いて実際の SmooksDataFormat を介してアンマーシャルされます。このドキュメントの firstName は、マーカーファイルを指す外部エンティティです:

<!DOCTYPE customer [<!ENTITY xxe SYSTEM "file:///…/secret.txt">]>
<customer><firstName>&xxe;</firstName>…</customer>
  • 影響あり: エンティティが解決されるため、マーカーファイルの内容が Customer.firstName にバインドされます — ファイルが アンマーシャルされた Bean に漏洩します。
  • 修正済み: ボディは強化された DocumentBuilder(外部エンティティおよび外部 DTD の読み込みを 無効化)で事前解析されるため、エンティティは解決されず、マーカーが現れることはありません。
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: firstName = the marker file content; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-88901-smooks-xxe-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: firstName null, marker not leaked; >>> Not exploited

脆弱性の概要

プロパティ値
コンポーネントcamel-smooks(Smooks データフォーマットおよびコンポーネント)
CWECWE-611(XML 外部エンティティ参照の不適切な制限)
重大度HIGH
攻撃ベクトル外部の送信者が、デフォルトの XML リーダーを使用する camel-smooks データフォーマットまたはエンドポイントによってアンマーシャリングされる XML メッセージ本文を提供する
影響Camel プロセスが読み取り可能なローカルファイルの読み取り、ドキュメントが指定する内部ホストへの SSRF
影響を受けるバージョン4.7.0 から 4.18.5 未満、4.19.0 から 4.22.1 未満
修正済みバージョン4.18.5、4.22.1、4.23.0
JIRACAMEL-24677
報告者h1ei1

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

修正内容

camel-smooks は、信頼できない XML を、FEATURE_SECURE_PROCESSING を設定し、外部一般エンティティ、外部パラメータエンティティ、および外部 DTD の読み込みを無効化した javax.xml.parsers.DocumentBuilder で事前解析し、その結果得られた DOM を Smooks に渡すようになりました。これは XmlConverter や他の Camel XML コンポーネントが使用する安全な設定と一致します。この強化は、Smooks 設定がデフォルトのリーダーで XML を解析する場合にのみ適用されます(したがって、EDI、CSV、JSON、カスタムリーダーの設定、およびマーシャリング方向は変更されません)。デフォルトで無効化された新しい allowExternalEntities オプションにより、信頼済みのレガシー設定に対して以前の動作を復元できます。

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

信頼できない送信者から受信した XML に camel-smooks を適用しないでください。

免責事項

このリポジトリは教育および防御目的で公開されています。Apache Camel ユーザーが脆弱性を理解し、影響を受けているかどうかを確認し、アップグレードによって解決されることを検証できるようにするためのものです。「secret」ファイルは再現プログラム自体が一時ディレクトリに作成するもので、無害なマーカー文字列のみを含みます。チェック後に削除されます。所有または運用していないシステムに対してこの資料を使用しないでください。

ツールをダウンロード