AVideoに認証回避の脆弱性、修正コミットが公開
AVideo 6.5から29.7.1までに、SNSの表示名を偽るだけで管理者を含む任意のアカウントに入られる脆弱性があります。ソーシャルログインを有効にしているサイトは、版を確認して修正を取り込み、難しければ該当プラグインを止めてください。
同じ発表の脆弱性 2 件
この記事でまとめた分です。発表元の告知には、ほかの脆弱性も載っていることがあります。
- CVE-2026-126542 重大 9.8
- CVE-2026-126806 高 9.3
急ぎ度: 至急
CVSS v3は9.8、v4は9.3で、認証なしに管理者を含む任意のアカウントへ入れる脆弱性であり、詳細と修正コミットがすでに公開されているためです。
関係があるか
動画配信基盤のAVideoを自社で運用し、X・Facebook・Yahoo・LinkedInのソーシャルログインを有効にしているサイトが対象です。社内向けの動画ポータルや会員制の配信サイトも含まれます。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| WWBN AVideo | 6.5から29.7.1までのすべてのリリース | 修正コミットd34ccf23b37a127a68478d66ac00b450b5788bad(GitHubの勧告が示す修正) |
確かめ方
- 1運用中のAVideoの版を確認し、29.7.1以下なら影響する版に入っています。
- 2管理画面のプラグイン一覧で、LoginTwitter・LoginFacebook・LoginYahoo・LoginLinkedinのいずれかが有効か確認します。有効で、アプリIDとシークレットを設定しているなら、この脆弱性の経路が開いています。
- 3モバイル連携のMobileManagerプラグインを使っている場合は、同じ処理が別の入口にもあるため、あわせて確認します。
何が起きたか
AVideoのソーシャルログインに、パスワードなしで他人のアカウントに入れてしまう認証回避の脆弱性が見つかりました。攻撃者は、自分のSNSの表示名を狙うアカウントのユーザー名に合わせるだけで、管理者を含む任意のユーザーとしてログインできます。
AVideoはSNS側からメールアドレスが返ってこないとき、表示名をそのままサイトのユーザー名として扱います。表示名は利用者が自由に決められる値です。AVideoは同じ名前の既存アカウントがあると、新規作成せずにそのアカウントへ結び付け、パスワードを確認しないままログインさせます。SNS側の利用者IDとサイト側のアカウントを対応付ける仕組みがないことが原因で、分類はCWE-290(なりすましによる認証回避)です。
問題の処理は、通常のログインを受け付けるobjects/login.json.phpと、モバイル連携のplugin/MobileManager/oauth2.phpにあります。勧告によると、この処理は2017年12月に追加され、6.5で初めてリリースされました。それ以降のすべての版が影響を受けます。
攻撃の流れ
-
1
表示名を偽装
攻撃者が自分のSNSアカウントの表示名を、狙うユーザー名に合わせます。
-
2
ログインを開始
メールアドレスを渡さない状態で、AVideoのソーシャルログインを始めます。
-
3
既存アカウントに結合
AVideoが表示名と同じユーザー名の既存アカウントを見つけ、そのまま結び付けます。
-
4
パスワード確認なし
パスワードを確認せずにログインが成立し、セッションが発行されます。
-
5
アカウントを掌握
被害者の権限、管理者なら管理機能を使える状態になります。
どう悪用されるか
認証は不要で、インターネット越しに実行でき、被害者の操作も要りません。ただし、サイト管理者がLoginTwitter・LoginFacebook・LoginYahoo・LoginLinkedinのいずれかを有効にし、アプリIDとシークレットを設定していることが前提です。
さらに、SNS側がメールアドレスを返さない状態であること、狙うユーザー名を攻撃者がSNSの表示名として使えることも条件になります。たとえばXでは、メールの提供を許可していないアプリや、メールを持たない電話番号だけのアカウントで、メールが返りません。
成立すると、管理者を含む既存アカウントのセッションとログイン維持用のクッキーが発行されます。パスワード確認は行われず、ログイン試行の回数制限も働きません。CVSSは機密性・完全性・可用性のすべてを高と評価しており、管理者を奪われれば、動画や利用者情報の閲覧、設定の書き換えまで及ぶと考えるべきです。
今すぐやること
-
1
運用中の版を確認する
AVideoの版が29.7.1以下かどうかを確かめます。git管理で入れている場合は、現在のコミットを確認すると、修正コミットを含むか判断できます。
git -C /path/to/AVideo log -1 --format=%H -
2
修正を取り込む
修正コミットd34ccf23b37a127a68478d66ac00b450b5788badを含む版へ更新します。GitHubのWWBN/AVideoで、このコミットを含むリリースが出ているかを確認してください。リリースがまだなら、公式リポジトリの修正を取り込んだ環境で検証してから反映します。
-
3
更新までソーシャルログインを止める
更新を急げない場合は、回避策の欄にある手順で該当プラグインを止めます。
-
4
侵害の跡を調べる
公開前から悪用されていた可能性もあるため、管理者アカウントを中心に、身に覚えのないログインや設定変更がないかを見ます。Webサーバーのログで、objects/login.json.phpとplugin/MobileManager/oauth2.phpへのソーシャルログイン経由のアクセスも確認します。
-
5
疑わしいときは認証情報を更新する
不審なログインが見つかったアカウントは、パスワードを変更し、発行済みのセッションを無効にします。管理者権限を持つアカウントで不審な点があれば、設定やユーザーの追加状況もあわせて点検します。
すぐ更新できないとき
修正を当てるまでの間は、LoginTwitter・LoginFacebook・LoginYahoo・LoginLinkedinの各プラグインを無効にします。勧告が示す悪用の前提はこれらのプラグインが有効なことなので、止めればソーシャルログイン経由の経路は使われなくなる見込みです。ただし、これは公式が明示した回避策ではありません。MobileManagerのOAuth連携を使っている場合は、そちらも一時的に止めて検証してください。
背景
AVideoは、動画の投稿・配信・視聴をひとつのサイトで運用できるPHP製のオープンソースです。自社でサーバーに入れて、社内向けの動画共有や、会員向けの配信サイトとして使われます。ソーシャルログインはHybridauthというライブラリでX・Facebook・Yahoo・LinkedInとつないでおり、利用者は新しいパスワードを作らずに入れます。
今回の脆弱性は、外部のログイン結果を受けるときに、SNS側の利用者ID(変わらない識別子)ではなく、利用者が自由に決められる表示名でサイト内のアカウントを探していたことが原因です。しかもこの処理は、メールアドレスが返らないときの代替として2017年12月に入ったもので、管理者を含めてローカルで登録済みのアカウントも、あとから同じ表示名で現れた別人に渡ってしまいます。
よくある質問
Q.ソーシャルログインを使っていなければ、更新しなくてよいですか。
まだ分かっていないこと
- GitHubの勧告は修正済みの版としてコミットだけを示しており、そのコミットを含むリリースの版番号は示されていません。
- 実際の攻撃で悪用されたかどうかは、公表されていません。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| パッケージ | 影響を受ける版 → 修正版 | |
|---|---|---|
| WWBNAVideo |
6.5 〜 29.7.1→ 記載なし |
記載なし |
この記録には修正版の版が載っていません。修正版の有無と版は、本文か参照URLのベンダーの勧告で確かめてください。
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
WWBN AVideo 6.5 through 29.7.1 contains an authentication bypass vulnerability that allows unauthenticated attackers to log in as any user via Hybridauth social login display names. Attackers can set their X, Facebook, Yahoo or LinkedIn display name to a victim's username and withhold email, causing login.json.php or oauth2.php to log them in as that account, including administrators, without a password.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- advisory github.com
- advisory vulncheck.com
- advisory nvd.nist.gov
- advisory github.com
- package github.com
- patch github.com
- web github.com
- web github.com
- web github.com