JSON Web トークンの None ハッシュアルゴリズム

high Web App Scanning プラグイン ID 112703

概要

JSON Web トークンの None ハッシュアルゴリズム

説明

JSON Web トークンは、データ改ざんから保護するために署名できます。非対称または対称署名アルゴリズムを使用することで、アプリケーションはトークンデータの署名を処理します。署名はトークンのデコード中に検証され、整合性が確保されます。

JSON Web トークンは、「none」アルゴリズムと空の署名を持つアプリケーションによって構成できるため、データには署名されず、検証なしで変更が可能になります。さらに、JSON Web トークンを処理するために使用される一部のライブラリにも、このアルゴリズムが不適切に実装されている場合があります。その場合、元々署名で作成されたものであっても、「none」アルゴリズムで設定されたトークンが検証される可能性があります。

トークンの使用方法によっては、攻撃者がこの脆弱性を利用して有効なトークンを偽造し、他のユーザーになりすましたり、さらに権限を取得したりする可能性があります。

ソリューション

「none」アルゴリズムで JSON Web トークンを作成するように構成されたアプリケーションを更新して、強力な秘密鍵または秘密鍵でサポートされている署名アルゴリズムを使用するようにする必要があります。署名付きで作成されているにもかかわらず、署名されていないトークンがアプリケーションによって検証されている場合は、JSON Web トークンの処理に使用されるライブラリが、「none」アルゴリズムでトークンを自動的に検証しないことを確認してください。

参考資料

https://auth0.com/blog/critical-vulnerabilities-in-json-web-token-libraries

https://cheatsheetseries.owasp.org/cheatsheets/JSON_Web_Token_for_Java_Cheat_Sheet.html

https://medium.com/101-writeups/hacking-json-web-token-jwt-233fe6c862e6

https://medium.com/swlh/hacking-json-web-tokens-jwts-9122efe91e4a

https://research.securitum.com/jwt-json-web-token-security/

プラグインの詳細

深刻度: High

ID: 112703

タイプ: remote

ファミリー: Web Applications

公開日: 2021/2/16

更新日: 2024/1/8

スキャン テンプレート: api, basic, full, pci, scan

リスク情報

VPR

リスクファクター: Medium

スコア: 5.1

CVSS v2

リスクファクター: High

基本値: 7.8

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:N/I:C/A:N

CVSS スコアのソース: Tenable

CVSS v3

リスクファクター: High

基本値: 7.5

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

CVSS スコアのソース: Tenable

参照情報