CVE-2026-91769 PHP OpenSSL証明書検証脆弱性 SAN/CN一致リスク
この記事はAIがNVDのCVE情報をもとに要約・生成したものです。影響範囲や対策は、必ずNVDおよび各ベンダーの公式情報をご確認ください。
PHPのOpenSSLストリームでの証明書検証処理に不備があり、証明書のsubjectAltName(SAN)が一致しない場合にCommon Name(CN)を検証する仕様がRFC 6125に違反しています。これにより、SANが一致しないがCNが一致する証明書が誤って信頼され、別のホストの証明書を偽装して利用されるリスクがあります。証明書検証を担当するシステムやアプリケーションにおいて、SANとCNの検証ロジックが適切に動作しているかを確認する必要があります。特に、証明書のSANが存在する場合でもCNが優先的に検証される設定が影響を及ぼす可能性があるため、運用環境の設定を点検することを推奨します。
- NVD Detail (NVD) [日本語で表示]
ソクラテスの問い、プラトンの備え
プラトンよ、この脆弱性の本質は「信頼がどこに置かれるべきか」に寄るだろう。証明書の検証がSANとCNの優先順位で混乱している。これは運用者にとって、信頼の基準が曖昧になったという意味ではないか?
確かに、ソクラテス。しかし現実の運用では、まずは「設定がRFC 6125に合致しているか」を確認しなければなりません。PHPのOpenSSL設定でSANを優先するよう明示されていないか、またはCNが無条件に検証されないかを、php.iniやコードの証明書検証部分をチェックする必要があります。ユーモラスにいえば、CNは「古い時代の名刺」で、SANが「現代のQRコード」です。QRコードが読めないシステムは要注意です。
では、この不備が実際に影響を及ぼす条件は?
SANが存在する証明書で、CNが一致する場合です。つまり、証明書のSANが存在するが、ホスト名が一致しないにもかかわらず、CNが一致して検証に通ってしまう。これにより、別のホストの証明書を偽装されるリスクがあります。運用者は、現行の証明書がSANを正しく含んでいるか、またCNが不要に残っていないかを、SSL証明書の発行ポリシーで確認すべきです。
その対策は?
パッチ適用が最優先です。PHPの公式リリースノートに該当の修正が記載されているかを確認し、適用します。また、証明書検証のコードが「CNを無条件に優先しない」よう、変更管理の履歴を点検してください。さらに、証明書のSANが存在する場合、監視ツールでCNが依然として検証されていないかを定期的にスキャンする必要があります。ベンダー(PHPの開発チーム)がこの問題をどのように修正したかを、NVDや公式フォーラムで確認することも重要です。
では、この脆弱性が深刻ではないと判断する根拠は?
CVSSの4.3という中程度のスコアから、攻撃が容易でない、または直接的な損害が限定されている可能性があります。しかし、信頼の基盤が破綻するリスクは深刻です。運用者は「証明書の検証ロジックが本当にRFCに合致しているか」を、設定と監視の両面で確認するべきです。それこそが、哲学的にも実用的にも妥当な姿勢です。
関連キーワード: openssl, php