プラットフォーム
nodejs
コンポーネント
node-forge
修正版
1.4.1
1.4.0
CVE-2026-33895は、node-forgeのEd25519署名検証において、スカラーSがグループ次数で縮小されない非正規の署名を受け入れる脆弱性です。これにより、署名の偽造が可能となり、認証および認可ロジックをバイパスされる可能性があります。この脆弱性はnode-forgeに影響し、バージョン1.4.0で修正されました。
CVE-2026-33895は、'forge'ライブラリにおいて、偽造された非正規のEd25519署名を検証することを可能にします。具体的には、ライブラリはスカラー'S'がグループの位数で還元されない(S >= L)場合に署名を受け入れます。これは、有効な署名とその'S + L'バリアントが両方とも有効として受け入れられることを意味し、RFC8032仕様に違反します。この署名改ざんの脆弱性は、認証および認可ロジックを回避するために実際に悪用されています。CVSSの深刻度は7.5で、重大なリスクを示しています。'forge'ライブラリの1.4.0より前のバージョンが影響を受けます。
この脆弱性は、Ed25519署名の改ざんを利用して悪用されます。攻撃者は、脆弱な'forge'ライブラリによって有効として受け入れられるが、準拠した実装(Node.js crypto.verify with OpenSSLなど)によって拒否される非正規の署名(S + L)を生成できます。これにより、攻撃者はユーザーまたはシステムの身元を偽装し、アクセス制御を回避し、システムセキュリティを損なうことができます。これらの改ざん可能な署名を生成する容易さにより、悪用は比較的簡単になります。
Applications and services relying on node-forge for Ed25519 signature verification are at risk. This includes Node.js applications using node-forge directly or indirectly through dependencies. Specifically, systems with older, unpatched versions of node-forge are vulnerable, and those relying on node-forge for critical authentication or authorization processes face the highest risk.
• nodejs / supply-chain:
Get-Process | Where-Object {$_.ProcessName -match 'node'}• nodejs / supply-chain:
Get-WinEvent -LogName Application -Filter "EventID=4688 -ProviderName 'Microsoft-Windows-Sysmon/Operational' -MessageText '*node-forge*'"• generic web:
curl -I https://your-application.com/api/verify-signature | grep 'Signature:'disclosure
エクスプロイト状況
EPSS
0.03% (7% パーセンタイル)
CISA SSVC
推奨される解決策は、'forge'ライブラリをバージョン1.4.0以降にアップグレードすることです。このバージョンは、'S'スカラーがグループの位数で正しく還元されるように、適切な'S'スカラーの検証を実装することで脆弱性を修正します。すぐにアップグレードできない場合は、'forge'ライブラリによって生成または検証されるEd25519署名に依存する認証および認可メカニズムを確認し、強化してください。この脆弱性の影響を影響を受けるシステムで評価し、それに応じてアップグレードまたは軽減を優先することが重要です。セキュリティログの監視は、悪用試行を検出するのに役立ちます。
Actualice la biblioteca Forge a la versión 1.4.0 o superior. Esto corrige la vulnerabilidad de falsificación de firmas Ed25519 al agregar la verificación faltante S > L.
脆弱性分析と重要アラートをメールでお届けします。
署名改ざんとは、特定のデジタル署名アルゴリズムにおいて、有効な署名を変更して別のメッセージを表すことができるという特性のことです。この場合、'S'に'L'を加えると、脆弱なライブラリによって依然として有効として受け入れられる署名が作成されます。
Node.js crypto.verifyはOpenSSLを使用しており、OpenSSLはRFC8032に従ってEd25519署名検証を実装し、非正規の署名を拒否します。
すぐにアップグレードできない場合は、認証および認可メカニズムを確認し、強化してください。リスクを軽減するために、証明書のフィンガープリントを検証するなどの追加の対策を検討してください。
'forge'ライブラリのバージョンを確認してください。バージョン1.4.0より前の場合は、システムが脆弱です。セキュリティログで疑わしい署名パターンを監視することも役立ちます。
この脆弱性は'forge'ライブラリに焦点を当てていますが、Ed25519を使用する他のライブラリを調べて、署名検証が安全に実装されていることを確認することが重要です。
CVSS ベクトル