プラットフォーム
nodejs
コンポーネント
node-forge
修正版
1.4.1
1.4.0
CVE-2026-33896は、node-forgeのpki.verifyCertificateChain()関数において、中間証明書がbasicConstraintsとkeyUsage拡張を欠いている場合に、RFC 5280の基本的な制約要件が強制されない脆弱性です。これにより、任意のリーフ証明書がCAとして機能し、他の証明書に署名できるようになり、node-forgeはこれを有効として受け入れます。この脆弱性は、認証局の信頼性を損なう可能性があります。この問題はバージョン1.4.0で修正されています。
forge の CVE-2026-33896 は、basicConstraints と keyUsage の両方の拡張機能を欠いているリーフ証明書が認証局 (CA) として機能することを許可します。pki.verifyCertificateChain() 関数は、中間証明書がこれらの拡張機能を欠いている場合、RFC 5280 の基本的な制約を適用しません。これにより、CA として設計されていないリーフ証明書であっても、他の証明書に署名でき、node-forge はそれらを有効として受け入れます。これにより、信頼チェーンの整合性が損なわれ、中間者攻撃や偽造証明書の作成が可能になる可能性があります。
攻撃者は、basicConstraints と keyUsage の拡張機能のないリーフ証明書を作成することで、この脆弱性を悪用できます。次に、攻撃者はこの証明書を使用して、正当な証明書に似た悪意のある証明書に署名できます。node-forge を使用して証明書チェーンを検証し、更新されていないアプリケーションは、悪意のある証明書を有効として受け入れ、攻撃者がネットワークトラフィックを傍受および変更できるようにします。
Applications built on Node.js that rely on node-forge for certificate validation are at risk. This includes applications handling TLS connections, verifying digital signatures, or performing other certificate-based authentication. Specifically, applications that accept certificates from untrusted sources or have weak certificate validation policies are particularly vulnerable.
• nodejs:
Get-Process | Where-Object {$_.ProcessName -match 'node'}• nodejs: Check for node-forge versions prior to 1.4.0 using npm list node-forge.
• nodejs: Review application code for calls to pki.verifyCertificateChain() and assess the context of certificate validation.
• generic web: Monitor server logs for errors related to certificate validation or unexpected certificate chains.
disclosure
エクスプロイト状況
EPSS
0.02% (6% パーセンタイル)
CISA SSVC
解決策は、forge をバージョン 1.4.0 以降にアップグレードすることです。このバージョンは、RFC 5280 の基本的な制約を適切に適用することで、この脆弱性を修正します。直ちにアップグレードできない場合は、アプリケーションで使用されているすべての証明書を注意深く確認し、中間証明書が basicConstraints と keyUsage の拡張機能を正しく構成されていることを確認してください。信頼する前に、アプリケーションに証明書の有効性を検証するための追加の検証を実装することを検討してください。
Forgeライブラリをバージョン1.4.0以降にアップデートしてください。このバージョンは、証明書チェーン検証における(basicConstraints)の省略に関する脆弱性を修正します。アップデートにより、RFC 5280の要件が満たされます。
脆弱性分析と重要アラートをメールでお届けします。
RFC 5280 は、基本的な制約と鍵の使用を含む、X.509 証明書の検証に関する要件を定義する標準です。
これらの拡張機能は、証明書が CA として使用されるか、リーフ証明書として使用されるかを示し、関連する秘密鍵を使用して実行できる操作を示します。
アプリケーションで使用されているすべての証明書を注意深く確認し、中間証明書が basicConstraints と keyUsage の拡張機能を正しく構成されていることを確認してください。アプリケーションに証明書の有効性を検証するための追加の検証を実装してください。
はい、証明書の拡張機能を検証できるオンラインおよびコマンドラインツールがいくつかあります。 'X.509 証明書ビューア' または 'openssl certificate info' を検索してください。
node-forge を使用して証明書チェーンを検証するアプリケーションは、バージョン 1.4.0 以降に更新されていない場合、潜在的に脆弱です。
CVSS ベクトル