脆弱性
Authlib には、JWS JSON デシリアライズ処理における署名の検証不備に関する脆弱性が存在する。問題は、JsonWebSignature.deserialize_json() メソッドにおいて、signatures 配列が空である場合にループが実行されず、初期値である検証成功フラグがそのまま維持されることに起因する。これにより、暗号鍵や有効な署名が存在しない改ざんされたペイロードであっても、署名済みとして正常に処理されてしまう。認証や権限のクレームを含むトークンを検証するシステムにおいて、認証のバイパスにつながるおそれがある。
対象ソフト
Authlib は、Python アプリケーション向けに OAuth や JWS/JWE などの認証・暗号化機能を提供するオープンソースのセキュリティライブラリである。
影響
攻撃者によって、暗号鍵や署名のない任意の改ざんされたペイロードを正当な署名済みデータとして誤認させられ、認証のバイパスや不正な権限昇格を引き起こすおそれがある。
対応策
1.9.0 以降にアップグレードすること。