FlyCms、初期管理者アカウントで乗っ取りの恐れ 修正版は未公表
CMS の FlyCms に、初期設定のスーパー管理者アカウントが誰にでも知られた状態で残る問題が見つかりました。認証なしでネットワーク越しに全権限を取られるおそれがあります。FlyCms を使っている組織は、初期アカウントのパスワード変更と管理画面へのアクセス制限を今すぐ確認してください。
急ぎ度: 至急
認証なしで外部から全権限を取られるおそれがあり、公開されている初期情報が使われるため、インターネットから届く環境では悪用の難易度が極めて低いからです。
関係があるか
FlyCms でサイトを運営している組織が対象です。とくに管理画面やログイン用の API がインターネットから到達できる環境と、導入後に初期のスーパー管理者アカウントのパスワードを変えていない環境は危険です。
| 製品 | 影響を受ける版 | 直った版 |
|---|---|---|
| FlyCms(sunkaifei/FlyCms) | commit edfdf724 までの版 | 公表されていません |
確かめ方
- 1FlyCms を使っているサイト、検証環境、過去に構築して放置したサイトがないかを洗い出します。
- 2管理画面のユーザー一覧やデータベースで、アカウント名
flycmsが残っていないか確認します。 - 3
flycmsが残っている場合は、導入時の初期パスワードのままになっていないか確認します。初期値を知る担当者が自分で確認するか、パスワードを変更してしまうのが確実です。 - 4ソースを Git で管理している場合は、取り込んでいる commit が edfdf724 以前かどうかを確認します。
何が起きたか
FlyCms に、初期状態で作られるスーパー管理者アカウントのパスワードが固定で、しかも公開されているという問題が見つかりました。導入した人が変更しなければ、第三者がそのアカウントでログインして、サイトの管理者として振る舞えます。全戸共通の合鍵が付いたまま引き渡された家のようなもので、鍵の形を知っている人なら誰でも開けられます。
報告によると、問題のアカウントは flycms という名前で、ログインには POST /api/auth/login が使われます。ログイン時には画像認証(キャプチャ)がありますが、これは人間かどうかを確かめる仕組みです。正しい ID とパスワードの代わりにはなりません。そのため、初期パスワードが変わっていなければ、ほかの防御は実質的に働きません。
得られるのはスーパー管理者の権限です。サイトのコンテンツ、利用者の情報、設定のすべてを読み書きできます。分類は CWE-1392(初期の認証情報の使用)で、ソフトウェアの実装ミスというより、出荷時の設定と運用の問題です。報告元は、README と初期データ用の SQL ファイルを参照先として挙げています。
攻撃の流れ
-
1
初期情報の入手
公開されている資料から、初期のスーパー管理者アカウントの存在を知ります。
-
2
ログインAPIへ到達
インターネットなどから、認証用の API に接続できる状態であることが前提です。
-
3
初期認証情報で認証
画像認証を通したうえで、変更されていない初期の認証情報でログインします。
-
4
全権限を取得
スーパー管理者として、管理機能のすべてを使えるようになります。
-
5
内容・設定の改ざん
サイトの内容、利用者情報、設定を閲覧・変更されるおそれがあります。
どう悪用されるか
悪用に必要なのは、ログイン用の API に通信が届くことだけです。事前の認証は不要で、利用者の操作も要りません。CVSS は 9.8(Critical)で、ネットワーク経由・低い複雑さ・認証不要・操作不要という評価です。
成功すると、サイトのコンテンツ改ざん、利用者情報の閲覧や変更、設定の書き換えが可能になります。管理者権限を使って、別の管理者アカウントを追加されることも考えられます。そこからサーバー本体への侵入にまで進めるかどうかは、公表されていません。
実際の攻撃で悪用されたという情報は、現時点で公表されていません。ただし、初期の認証情報は公開されているため、悪用の準備に手間がかからない点には注意が必要です。
今すぐやること
-
1
FlyCms の利用状況を洗い出す
本番だけでなく、検証用、委託先が構築したサイト、使っていない古いサイトも対象にします。インターネットから届くものを優先して確認してください。
-
2
初期アカウントのパスワードを変更する
flycmsアカウントのパスワードを、長く推測されにくいものに変更します。使わないなら、アカウントを無効化または削除します。その前に、ほかの管理者アカウントでログインできることを確認してください。 -
3
管理機能への到達範囲を絞る
管理画面とログイン API は、社内ネットワーク、VPN、許可した IP アドレスだけから届くようにします。リバースプロキシや WAF で制限できます。
-
4
不正ログインの痕跡を調べる
/api/auth/loginへのアクセスログと、flycmsアカウントのログイン履歴を確認します。心当たりのない管理者アカウント、コンテンツの変更、設定の変更がないかも見てください。パスワードを変える前の期間にさかのぼって確認します。 -
5
取り込んでいる版を確認する
Git で管理している場合は、現在の commit を確認します。edfdf724 以前なら影響の対象です。それより新しい commit で直っているかは公表されていないため、開発元の告知や Issue を確認してください。
git log -1 --format=%H -
6
侵入の疑いがあれば認証情報を総入れ替えする
不審なログインが見つかった場合は、管理者の全パスワード、API キー、外部サービスとの連携用の認証情報を変更します。公開済みのコンテンツに不正な変更がないかも確認します。
すぐ更新できないとき
修正版の情報がないため、設定による対処が中心になります。初期アカウントのパスワードを変更するか、アカウントを無効化します。あわせて、管理画面とログイン API を VPN や許可した IP アドレスからだけ使えるようにします。すぐに設定を変えられない場合は、サイトの公開を一時的に止めることも検討してください。
背景
CMS は、サイトの記事、会員情報、各種設定を一か所で管理するため、管理者権限を取られると影響が広くなります。この種のソフトウェアは、導入直後に管理用のアカウントがあらかじめ用意されていることが多く、パスワードを変えないまま運用に入りやすいという弱点があります。
初期パスワードや共通パスワードの放置は、ルーター、監視カメラ、データベース製品などで長年繰り返されてきた問題です。ソフトウェアの欠陥を突くわけではないので、パッチの適用だけでは防げません。導入時にパスワードを変える手順を徹底し、管理画面の公開範囲を絞ることが基本的な備えになります。
よくある質問
Q.画像認証があるので安全ではありませんか。
Q.社内ネットワークからしか使っていません。対応は必要ですか。
Q.パスワードを変えれば、それで終わりですか。
まだ分かっていないこと
- この問題を直した版や commit が公表されているかは明らかになっていません。開発元のリポジトリと Issue の告知を確認してください。
- 実際の攻撃で悪用されたかどうかは、公表されていません。
- 管理者権限の取得から、サーバー本体への侵入まで進められるかは、公表されていません。
この記事は、取得元の公開情報をもとに生成 AI で作成しています。誤りを含むことがあります。対応を決める前に、下の原文と参照先を確認してください。
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
FlyCms through commit edfdf724 contains a default credentials vulnerability that allows unauthenticated remote attackers to gain super administrator access via the flycms account with password admin123. Attackers can log in through POST /api/auth/login, solving only the image captcha, to obtain full control of site content, users and configuration.
出典: GitHub Security Advisories (Global) NVD GitHub Advisory
参照URL
- advisory nvd.nist.gov
- advisory vulncheck.com
- advisory github.com
- package github.com
- report github.com
- web github.com
- web github.com
- web github.com