1765573760
2025-12-12 20:28:00
このページは、 2025 年ドイツの OWASP Day で行われたプレゼンテーション
(プレゼンテーションスライド)。
イントロ
と 電子請求指令 (2014/55/EU)、欧州連合は XML 形式の「標準化された」電子請求書を導入しました。 EU 加盟国の機関や企業は、これらの電子請求書をサポートすることがますます求められるようになります。
機械で読み取り可能な請求書は一般に良いアイデアですが、EU のアプローチにはさまざまな問題があります。たとえば、不必要な複雑さ、真の標準化の欠如 (複数の構文とさまざまなサブフォーマット)、セキュリティ上の問題を内在するテクノロジーを使用する傾向などです。
不幸な設計上の決定が重なったため、対策を講じなければ、電子請求書用ソフトウェアの実装はセキュリティ上の欠陥の影響を受ける可能性があります。
XML の安全性の確保と XXE
XML 形式には固有のセキュリティ上の欠陥があることが知られており、最も危険なものは XXE 脆弱性 (XML eXternal Entity Injection) です。
XXE の脆弱性により、多くの場合、ファイルの漏洩が可能になります。一部の XML 実装は安全なデフォルトを実装しているか、最初から脆弱ではありませんでした (例: パイソン、 libxml2、 。ネット、 駐在員)、その他はデフォルトで安全でないままです。
安全でないデフォルトを使用した実装の 2 つの注目すべき例は、Java 標準ライブラリと Saxon ライブラリです。どちらも電子請求エコシステム内で一般的に使用されます。
XSLT 2.0の問題
XSLT はドキュメント変換言語です。 XSLT バージョン 1.0 のみが広くサポートされています。 XSLT 2.0 以降の場合、無料で利用できる実装は Saxon のみです。
EN16931 規格への準拠を確認するには、 EU は Schematron に基づいた検証アーティファクトを提供。これらの検証アーティファクトには XSLT 2.0 が必要です。
したがって、これらの検証アーティファクトを使用する人はおそらく、Saxon を使用して請求書の解析を実装することになります。前述したように、Saxon はデフォルトで XXE に対して脆弱です。
XSLT 2.0 (およびその後継 3.0) は、実装状況が不十分であり、主要な実装のデフォルトが安全ではないという事実にもかかわらず、W3C 推奨です。私はこれらの懸念を W3C に提起しました。
セキュリティテストスイート
あ 電子請求書のセキュリティ テスト スイートはここで提供されます。
EN16931規格の取得
電子請求書に関する EU の要件は、欧州標準化委員会 (CEN) によって EN16931 という一連の規格で標準化されています。最初の 2 つの部分は無料で利用できます。その後の部品にはお金がかかります。
これらの標準にアクセスすることは驚くほど困難です。 EU の Web ページ上の CEN へのリンクは現在壊れています。 CEN はこれらのドキュメントの直接ダウンロードを提供しておらず、国の標準化組織を参照しています。多くの場合、標準の無料部分にアクセスする場合でもアカウント登録が必要です。
エストニア標準化団体 (EVS) は、パート 1 とパート 2 を登録なしでダウンロードできます。
無料で入手できない EN16931 の部分については、EVS の価格は他のほとんどの国内標準化団体の価格よりも安くなります。
XXE の脆弱性
この調査中に電子請求書発行ソフトウェアで発見されたセキュリティ脆弱性のリスト:
| 製品 | バルンのタイプ | 情報 |
|---|---|---|
| 実質的に | XXE | 2025 年 3 月 25 日に報告されました。 3.9.2ベータ版(2025-03-28)/3.9.2(2025-05-05)で修正、ソフトウェア スタック: Perl/XML::LibXML、 CVE-2025-66370 |
| ペッポルピー | ブラインド XXE | 報告日: 2025 年 11 月 13 日 1.1.1 で修正 (2025-11-13)、ソフトウェア スタック: Python/Saxon、 CVE-2025-66371 |
| ZUV* | ブラインド XXE | 報告日: 2025-11-17、README によると開発は終了、ソフトウェア スタック: Java/Saxon |
| papierkram.de 電子請求書ビューア | XXE | 報告日: 2025-03-30、修正日: 2025-03-31 |
| EPO 電子請求書ビューア | XXE | 報告日: 2025-10-13、修正日: 2025-10-14 |
| ポートインボイス | XXE | 報告日: 2025-10-29、修正日: 2025-10-29 |
| xrechnung-erstellen.com 電子請求書ビューアー | XXE | 報告日: 2025-10-14、修正日: 2025-10-16 |
| ベレグマイスター ZUGFERD VIEWER | ブラインド XXE | 報告日: 2025-11-15 (PDF アップロードのみをサポート)、修正日: 2025-11-25 |
| winball.de による電子請求書検証ツール | ブラインド XXE | 報告日: 2025-11-17、修正日: 2025-11-19、 確認 |
| ZUGFeRD コミュニティ ZF/FX インボイスポータル | ブラインド XXE | 報告日: 2025-11-17、返答なし、2025-11-25 に再テスト、検証機能が削除されました (ZUV に依存) |
| 編集済み1 | XXE | 報告日: 2025-10-29、返答なし、2025-11-18 に再テスト、修正が不完全 (次の行を参照) |
| 編集済み1 | ブラインド XXE | 報告日: 2025-11-18、返答なし、未修正 |
| 編集済み2 | ブラインド XXE | 報告日: 2025-11-17、返答なし、未修正 |
* ZUV は現在開発されていないため、代わりに Mustang を使用することをお勧めします。 Mustang は以前のバージョンでも XXE に対して脆弱でした 2.16.3 (CVE-2025-66372)。
もっと
質問がありますか?
テキストとロゴは次のようにライセンスされています CC0。ロゴはミックスです の
三つ
アイコン svgrepo.com から、すべて CC0。 Web ページで使用されているのは、 ピコCSS (MITライセンス)および
ヒューゴ。
作成者 ハンノ・ベック
(作成: 、最終更新日: )
#電子請求書のセキュリティ問題