
Node-jose < 0.11.0 向けのエクスプロイト(Ruby製)
ruby ./exploit.rb でファイルを実行してください。Cisco node-joseオープンソースライブラリのバージョン0.11.0未満における脆弱性により、認証されていないリモートの攻撃者がトークンに埋め込まれたキーを使用してトークンを再署名できる可能性があります。この脆弱性は、node-joseがJSON Webトークン(JWT)に対してJSON Web Signature(JWS)標準に従っていることに起因します。この標準では、公開鍵を表すJSON Web Key(JWK)をJWSのヘッダーに埋め込むことができると規定されています。この公開鍵はその後、検証のために信頼されます。攻撃者は、元の署名を削除し、新しい公開鍵をヘッダーに追加し、そのJWSヘッダーに埋め込まれた公開鍵に関連付けられた(攻撃者が所有する)秘密鍵を使用してオブジェクトに署名することで、正当なJWSオブジェクトを偽造してこの脆弱性を悪用する可能性があります。(https://nvd.nist.gov/vuln/detail/CVE-2018-0114).