JVNDB-2026-027048 | |
xml::sig プロジェクトのxml::sigにおけるデジタル署名の検証に関する脆弱性 | |
| 概要 | |
PerlのXML::Sigバージョン0.29から0.72未満では、verify関数が暗号学的チェックを行う前にすべての署名がスキップされた場合にtrueを返すため、署名検証をバイパスされる可能性があります。lib/XML/Sig.pmのverifyは`//dsig:Signature`要素をカウントして`$numsigs`に格納し、それらを繰り返し処理しますが、2つのパスがダイジェストやキーのチェックを行う前に`next`に到達します。ひとつは`SignedInfo/Reference/@URI`が要素に解決されず、かつ`$numsigs`が1より大きい場合、もうひとつは`id_attr`が設定されているときに要求されたIDと一致しないリファレンスの場合です。ループは何をチェックしたかを記録しないため、すべての署名がこれらのパスのいずれかを通過すると、verifyは条件なく`return 1`を実行して終了します。参照URIの名前が存在しないIDを指す2つの`Signature`要素、またはそのような要素1つと`id_attr`があれば、その条件を満たすことになります。信頼されていないXMLをverifyに渡す呼び出し元は、ダイジェストも署名値もチェックされていない文書に対してtrueを受け取る可能性があります。`cert`や`cert_text`の信頼アンカーはキーのチェックを行わないため、この状況を改善しません。バージョン0.28までのXML::XPathベースのverifyには署名スキップの問題がなく、この問題の影響を受けません。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.5 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
xml::sig プロジェクト | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/08/03 |
| 登録日 | 2026/08/06 |
| 最終更新日 | 2026/08/06 |



