本文へ移動

AI Buildersのための最新のニュース、知見、事例を毎日お届け

運営会社
企業のセキュリティ対策blueprintUE

blueprintUEの自前版、DBが外からパスワードなしで開く 例の設定を直す

Unreal Engineのブループリントを共有するサイトを自前で動かす「blueprintUE Self-Hosted Edition」で、Docker Composeの例の設定のままだとデータベースに外からパスワードなしで入られる脆弱性「CVE-2026-126812」が公表された。4.3.7で例は直ったが、動いている環境の設定は自分で直す必要がある。

記事の内容を自社でどう進めるか、内容が固まっていない段階でも相談できます。仕事の相談

毎週 1 回、その週の記事から 5 本と実践の 1 本を選んでメールで届けます。ニュースレターを購読する(無料)

灰色の机の上に、ふたが開いたままの濃い灰色の金属の箱が置かれている
Created with Grok

blueprintUEの開発チームは11月12日(日本時間)、自前で動かす版「blueprintUE Self-Hosted Edition」の脆弱性の情報を公表した。Docker Composeの例の設定のままだと、データベースのMariaDBにrootとしてパスワードなしで外から入られ、利用者の情報や全てのデータベースを読み書きされ得る。4.3.7で例は直ったが、動いている環境の設定は自分で直す必要がある。

4.3.6までの例の設定が当たる

更新:2026-11-12 07:45(日本時間) CISAの日本語の名前をIPAの表記に合わせ、NVDの掲載時刻を外した

blueprintUEは、ゲームエンジンUnreal Engineのブループリント(画面上でつなぐ形のプログラム)を貼って共有するサイトで、Self-Hosted Editionは会社の中で同じサイトを動かすための版だ。開発チームの情報によると、対象と深刻度は次のとおりだ。

  • 対象: blueprintUE Self-Hosted Edition 4.3.6以前(NVDの記録では1.0.0以上4.3.7未満)
  • 直った版: 4.3.7
  • CVE番号: CVE-2026-126812
  • 深刻度: CVSS 3.1で9.8(開発チームとVulnCheckの評価)。VulnCheckはCVSS 4.0で9.3も付けた
  • 弱点の種類: CWE-258(設定ファイルの空のパスワード)

原因は、リポジトリにあるDocker Composeの例だ。設定ファイル「database.env」でrootのパスワードを空のまま許す「MYSQL_ALLOW_EMPTY_PASSWORD=yes」を指定し、MariaDBのポート3306をホストの外へ公開していた。開発チームの説明では、MariaDBのイメージはrootにどこからの接続も許すので、3306に届く相手なら認証なしでrootとして入れる。NVDの記録にも同じ日に載った。

3306の公開と空のパスワードを見る

まず、例の「docker-compose-smtp.yml」などのdocker-compose-*.ymlを元に動かしている環境かを確かめる。その設定ファイルに「3306:3306」のポートの指定があるか、database.envに「MYSQL_ALLOW_EMPTY_PASSWORD=yes」があるかを見る。どちらも例のまま残っていれば当たる。

次に、実際にポートが外に開いているかを見る。一般的なDockerのコマンド「docker ps」のPORTSの欄に「0.0.0.0:3306」が出ていれば、ホストの全ての宛先で3306を受けている。ホストの外から届くかは、ファイアウォールとクラウドのセキュリティグループの設定でも確かめたい。「127.0.0.1:3306」のように同じホストの中だけに限っていれば、外からは届かない。例を写した後で設定を書き換えた環境もあるので、設定ファイルの中身と、実際に動いているコンテナのポートの両方を見るのが確かだ。

4.3.7に上げても設定は残る

4.3.7の修正は、Docker Composeの例の書き換えだ。例から「MYSQL_ALLOW_EMPTY_PASSWORD」と3306の公開を消し、設定ファイルを値の入っていないひな形に変えて、デフォルトの値のまま写して使われないようにした。4.3.7のリリースの変更もこの1件だけだ。つまり、イメージを4.3.7に上げても、手元で写した設定ファイルは変わらない。

開発チームは、rootの空のパスワードを許さず、強く他と重ならないパスワードを設定するよう求めている。あわせて、rootの接続を同じホストの中に限り、外からの接続が要る場合を除いてデータベースのポートを公開せず、データベースをlocalhostかDockerの内部のネットワークに限ることを勧めている。ホストのファイアウォールで絞ることと、権限を絞ったデータベースのアカウントを使うことも挙げた。まず設定ファイルから3306の公開を外してコンテナを作り直し、ポートが閉じたことをもう一度確かめる。パスワードは、database.envに書き足すだけでなく、動いているデータベースのrootに実際に設定されたかまで確かめたい。

悪用の報告はまだ無い

CVE-2026-126812は、11月12日の時点で、米サイバーセキュリティ・インフラストラクチャセキュリティ庁(CISA)の悪用を確認した脆弱性の一覧(KEV)に載っていない。開発チームとNVDの情報にも、悪用の報告は無い。ただし、狙うのに要るのは3306に届くことだけで、特別な道具も認証も要らない。外に開いたデータベースのポートは常に探されているので、報告が無いことは待ってよい理由にならない。

SAGUSでは当たらなかった

SAGUSは、開発に使う端末の作業場所にある設定ファイル(YAML、Dockerfile、JSON、TOML)を、grepで「blueprintue」「MYSQL_ALLOW_EMPTY_PASSWORD」「3306:3306」などの語で検索した。どれも見つからなかった。本番のサイトとRolloutのサイトには、社外の回線から3306へのTCPの接続を試み、どちらも閉じていることを確かめた。SAGUSはblueprintUEを動かしておらず、今回の脆弱性には当たらなかった。

編集部の見方

直った版に上げれば済む話ではない。編集部は、blueprintUE Self-Hosted Editionを例の設定から動かした組織は、今日中に3306の公開を外し、rootにパスワードを設定するべきだと考える。今回の原因はソフトウェアの中ではなく、写して使われる例の設定にあった。他のオープンソースのDocker Composeの例を元に動かしている環境も、データベースのポートとパスワードを同じ目で見直したい。

出典

に確認(日本時間)

  1. 脆弱性の情報(github.com)
  2. NVDの記録(nvd.nist.gov)
  3. Docker Composeの例の書き換え(github.com)
  4. 4.3.7のリリース(github.com)
  5. KEV(cisa.gov)

この記事をシェア

この記事は役に立ちましたか