JVNDB-2026-036449 | |
wolfSSL Inc.のwolfSSLにおけるデジタル署名の検証に関する脆弱性 | |
| 概要 | |
WOLFSSL_SMALL_CERT_VERIFY を定義している場合、ProcessPeerCertParse() はパース処理から証明書の署名検証を切り離し、ピークメモリを抑えつつ両者の結果を統合します。しかし、署名検証結果はパースが0(成功)を返した場合にのみ戻されるため、パースエラーが署名検証の失敗を隠してしまいます。ParseCertRelative() は ConfirmSignature() が成功した後に有効期限、名前制約、重大な拡張の検査を行うため、署名検証を分割したことで「有効期限のエラーを上書きする」という正当なポリシーの優先順位が逆転し、ASN_SIG_CONFIRM_E はどこにも表れません。攻撃者は実際のPKIからの鍵情報やCAの侵害を必要とせず、期待されるサブジェクト名を持ち、信頼されたCAのサブジェクトを発行者とした自己署名証明書に、署名部分に任意のバイトを設定し、有効期限を過去にし攻撃者自身の鍵ペアを使うだけで攻撃を成立させることができます。影響を受けるビルドは WOLFSSL_SMALL_CERT_VERIFY を定義しており、これはデフォルトで無効、プラットフォームやプリセットヘッダーで暗黙に設定されることはなく、CMake オプションからもアクセスできません。autotools では --enable-lowresource、--enable-leantls、--enable-tinytls13=cert 及び --enable-tinytls13=mutualauth のルートで設定され、examples/configs/user_settings_embedded.h は WC_CFG_SMALL_CERT_VERIFY(デフォルト0)を通じてアクセスしますが、--enable-all や --enable-distro では有効化されません。さらにアプリケーションは wolfSSL_CTX_set_verify() または wolfSSL_set_verify() で WOLFSSL_VERIFY_PEER フラグを用いた検証コールバックをインストールし、ASN_BEFORE_DATE_E または ASN_AFTER_DATE_E の場合に 1 を返す必要があります。wolfSSL の wolfssl/test.h の VERIFY_OVERRIDE_DATE_ERR で myVerify() としてこの形が提供されており、examples/client の -D オプションで選択可能です。コールバックが無い場合、または日付エラーでプリベリファイを返すコールバックの場合はハンドシェイクが失敗します。一方、同じバイナリ内で wolfSSL_CertManagerVerifyBuffer() と wc_CheckCertSignature() は ASN_SIG_CONFIRM_E を正しく報告します。TLS 1.2 と TLS 1.3 は双方向で影響を受け、DTLS も同様の関数に到達します。偽造証明書がチェーン証明書の場合、コールバックの承認により WOLFSSL_CTX 証明書マネージャにキャッシュされるため、公開環境では再接続だけでなくコンテキストまたはプロセスの再起動が必要になります。 | |
| CVSS による深刻度 (CVSS とは?) | |
|
CVSS v3 による深刻度
基本値: 7.5 (重要) [NVD値]
| |
| 影響を受けるシステム | |
|
| |
wolfSSL Inc. | |
|
| |
| 想定される影響 | |
・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 | |
| 対策 | |
参考情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
|
| |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/09/27 |
| 登録日 | 2026/10/05 |
| 最終更新日 | 2026/10/05 |



