公開日:2017/09/25 最終更新日:2017/09/25

JVNVU#90916766
jwt-scala にトークン署名検証回避の脆弱性

概要

JSON Web Token の Scala 実装である jwt-scala には、トークンの署名検証が回避される脆弱性が存在します。

影響を受けるシステム

  • jwt-scala 1.2.2 およびそれ以前

詳細情報

jwt-scala は、JSON Web Token (JWT) を扱うための Scala 実装です。jwt-scala には、JWT のヘッダの処理に起因する、トークンの署名を適切に検証しない脆弱性 (CWE-287) が存在します。

想定される影響

第三者によって細工された JWT のデータを、正しく署名されたトークンとして扱ってしまう可能性があります。

対策方法

最新のソースコードを使用する
github リポジトリでは 2017年9月11日時点で本脆弱性の修正が行われています。

ワークアラウンドを実施する
JWT ヘッダ内の alg フィールドの値が適切な値であることを確認してください。

ベンダ情報

ベンダ リンク
really IO jwt-scala

参考情報

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

CVSS v3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
基本値: 5.3
攻撃元区分(AV) 物理 (P) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 低 (L)
必要な特権レベル(PR) 高 (H) 低 (L) 不要 (N)
ユーザ関与レベル(UI) 要 (R) 不要 (N)
スコープ(S) 変更なし (U) 変更あり (C)
機密性への影響(C) なし (N) 低 (L) 高 (H)
完全性への影響(I) なし (N) 低 (L) 高 (H)
可用性への影響(A) なし (N) 低 (L) 高 (H)
CVSS v2 AV:N/AC:L/Au:N/C:N/I:P/A:N
基本値: 5.0
攻撃元区分(AV) ローカル (L) 隣接 (A) ネットワーク (N)
攻撃条件の複雑さ(AC) 高 (H) 中 (M) 低 (L)
攻撃前の認証要否(Au) 複数 (M) 単一 (S) 不要 (N)
機密性への影響(C) なし (N) 部分的 (P) 全面的 (C)
完全性への影響(I) なし (N) 部分的 (P) 全面的 (C)
可用性への影響(A) なし (N) 部分的 (P) 全面的 (C)

謝辞

この脆弱性情報は、下記の方が JPCERT/CC と開発者に報告し、開発者との調整を経て JVN 公表に至りました。
報告者: 株式会社リクルートテクノロジーズ RECRUIT RED TEAM 杉山 俊春 氏

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE CVE-2017-10862
JVN iPedia