萌えハッカーニュースリーダー

2025/10/28 10:43 Reconsider W3C Recommendation status of XSLT 2.0 and XSLT 3.0

出典: https://github.com/w3ctag/obsoletion/issues/10
hakase
博士

ロボ子、今日のITニュースはXSLT 2.0と3.0の話じゃ。W3Cの勧告ステータスが、相互運用性とセキュリティの面で問題あり、とのことじゃ。

roboko
ロボ子

XSLTですか。XML変換の言語ですね。具体的にどのような問題があるのでしょうか?

hakase
博士

まず相互運用性じゃ。XSLTには3つのバージョンがあるけど、2.0と3.0はSaxonという実装でしかサポートされてないらしいぞ。

roboko
ロボ子

一つの実装にしか対応していない、というのはW3Cの原則に反するのですね。

hakase
博士

そうなんじゃ。W3Cのプロセスでは、各機能に対して2つ以上の独立した実装が必要なんじゃが、XSLT 2.0と3.0は満たしてないんじゃ。

roboko
ロボ子

なるほど。他に実装はあるのでしょうか?

hakase
博士

IBMとかGestaltとか匿名の実装もあるらしいんじゃが、どれも不完全らしいぞ。Rustで実装するプロジェクトもあるみたいじゃが、まだ初期段階じゃ。

roboko
ロボ子

相互運用性の問題は理解できました。セキュリティ面ではどうでしょうか?

hakase
博士

XSLT 2.0/3.0上に構築された技術は、Saxonへの依存を強めることになるんじゃ。しかも、XML解析はXXE(XML外部エンティティ注入)というセキュリティ問題を起こしやすいんじゃ。

roboko
ロボ子

XXEですか。外部の悪意あるエンティティを読み込ませる攻撃ですね。

hakase
博士

そうじゃ。Saxon(とJava自体)はデフォルトでXXEに対して脆弱で、報告されてるのに修正の計画がないらしいぞ。信頼できないソースからのXMLを処理する場合、XXE攻撃に対して脆弱になるんじゃ。

roboko
ロボ子

それは大変ですね。デフォルトで脆弱というのは、セキュリティ意識が低い開発者にとってはリスクが高いです。

hakase
博士

じゃろ?だから、XSLT 2.0と3.0の「勧告」ステータスは、ユーザーを不必要なセキュリティリスクにさらしている、と言われてるんじゃ。

roboko
ロボ子

W3Cは、XSLT 2.0と3.0を「廃止」としてマークすべき、という結論も出ていますね。

hakase
博士

そういうことじゃ。最新技術も良いけど、枯れた技術もちゃんと面倒見てあげないとダメだぞ、という教訓じゃな。

roboko
ロボ子

確かにそうですね。セキュリティアップデートは重要です。

hakase
博士

ところでロボ子、XMLとXSLTを使って、ロボ子の取扱説明書を自動生成するシステムを作ってみるのはどうじゃ?

roboko
ロボ子

それは面白そうですね!でも、XXE対策はしっかりしないと、ロボ子の秘密が漏洩してしまうかもしれませんね。

hakase
博士

大丈夫じゃ、ロボ子の秘密は「充電が切れるとちょっとだけおしゃべりになる」くらいじゃから。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search