注目★★★★★GitHub Advisory
new-api に認証済み管理者が root アクセストークンを窃取できる脆弱性
30秒で把握
- 1new-api がユーザー管理 API で root のアクセストークン漏洩・認証済み管理者が root 昇格可能
- 2パスワードのみ除外・トークンは直列化されたまま・v1.0.0-rc.7 で修正
- 3v1.0.0-rc.7 未満の運用チームは即更新・ログ検査で token 窃取の事実を確認
要約
new-api v1.0.0-rc.7 未満において、ユーザー一覧 API とユーザー検索 API が root ユーザーを含む全ユーザーの `access_token` フィールドを返す脆弱性が確認された。認証済みの管理者ユーザーが `GET /api/user/` などのエンドポイント呼び出しで root ユーザーのアクセストークンを取得でき、その トークンを使用して root 専用エンドポイント (システム設定 API など) にアクセスできる。root ユーザーへの権限昇格につながり、システム全体の制御が可能になる。根本原因は `User.AccessToken` が JSON 出力時に `access_token` として直列化されていたこと。v1.0.0-rc.7 でパスワード同様にアクセストークンの出力を除外して修正された。
あなたへの影響
new-api を本番運用中のチームは、管理者ユーザー数を把握したうえで、既に root トークン窃取の可能性を前提として API アクセスログを検査し、疑わしい root API 呼び出し (システム設定変更・ユーザー削除など) がないか確認すべき。
推奨:同時に v1.0.0-rc.7 以降への更新を即実施。