速報

APTにroot権限のコード実行につながる脆弱性 更新時の再試行制御と修正版を確認

CATEGORY

Chartbrewのジョブ管理画面に認証欠落 v5.2.3への更新と公開経路の点検

※本ページのリンクにはプロモーションが含まれています。

処理待ちのジョブと管理画面の間に認証の境界を設けるイメージ

この記事のポイント

脆弱性
CVE-2026-86005
深刻度

CRITICAL9.3

対象
Chartbrew 5.2.3未満のセルフホスト環境
悪用状況
不明
推奨対応
不要な経路から管理ルートと配下を遮断し、5.2.3以降に更新して管理用のBasic認証を確認する。
公表日

目次

セルフホスト型のデータ可視化ツールChartbrewで、バックグラウンド処理の管理画面をログインせずに開ける問題が見つかっています。-2026-86005です。RedisとBullMQを有効にした構成で、Chartbrewのにある /apps/queues に到達できる場合、未認証の第三者がジョブの内容やログを読んだり、条件によっては処理の状態を変えたりできます。運用担当者はこの経路を遮断したうえで、修正済みのv5.2.3以降へ更新し、管理用のが実際に効くことを確認してください。

Chartbrew:BullMQ管理画面の認証欠落に関する勧告は9月6日付で、影響版として5.2.2を明記し、修正版を5.2.3としています。CVE Program:CVE-2026-86005の公式レコードは日本時間11月7日(では11月6日)に公開され、影響範囲を5.2.3未満、深刻度を v4.0で9.3(Critical)としています。CVEレコードの公開日はが初めて配布された日ではありません。勧告は調査対象だった開発にも同じ問題があったとしています。古い版や独自を使っている場合は、勧告に列挙された版だけで安全と判断せず、管理ルートに同じ認証の欠落がないか確認します。開発元が公開した再現手順は、実際の運用環境で悪用されたことを示す報告とは区別します。

スポンサーリンク

公開グラフとは別にバックエンドへの経路を調べる

Chartbrewはやの情報をグラフにし、ダッシュボードにまとめます。問題の対象は、そのグラフを閲覧する画面ではなく、更新やスナップショット作成などのジョブを管理するBull Boardです。問題のある実装では、ChartbrewがExpressの管理ルーターを認証なしで登録していました。手前でContent Security Policyヘッダーを付けても、要求を送った人の本人確認や管理権限の確認は行われません。通常の画面でログインが求められることを確かめても、この経路の検査にはなりません。

影響を受けるかは、稼働版、RedisとBullMQの有効化、ネットワークからの到達性を組み合わせて判断します。インターネットからの接続だけでなく、管理用サブネット、別チームのワークロード、検証環境からアクセスできる経路も確認します。社内向けのホストでも、管理機能を使う必要のない端末やサービスから届けば、アクセスの前提を満たします。反対に、到達を独立した境界で止めていたなら、その境界を越えない位置から同じ操作はできません。

最初に調べるのは、Chartbrewのを公開しているホストと、APIを配信するホストが同じかどうかです。がパスで振り分ける構成なら、公開URLのどの部分がバックエンドへ転送されるかを設定から追います。別ホストであれば、公開画面を通らずAPIホストに到達する経路も調べます。コンテナのポートをホストに公開している場合は、の制限を通らずに同じバックエンドへ着く可能性があります。の有無と、どの利用者に到達を許すかは別々に確認します。

Redisが外部から直接見えなくても、ChartbrewがRedisに接続しており、Bull Boardだけが外部から見えるなら確認が必要です。要求を受けるのはRedisのポートではなく、ジョブ管理のWebルートだからです。運用台帳に「Redisは非公開」とだけ記録している環境では、ChartbrewのAPI側の入口も併記し、どこで管理機能の利用者を制限するかを特定します。

ジョブの入力と処理の状態で影響を分ける

開発元の勧告は、グラフやダッシュボードの更新、MongoDBの情報更新、スナップショットに関係するキューを挙げています。閲覧で何が見えるかは、ジョブの入力、結果、エラーに何を格納しているかで変わります。内部のチームや接続先を識別する値、処理時刻、再試行回数が見えるケースと、利用者データが入力やログに入っているケースでは、調査対象を分けます。公開情報だけでは、すべての構成で接続先のパスワードやデータベースの中身が見えたとは言えません。

操作による影響も別に評価します。利用可能な管理操作はBull Boardの版やジョブの状態によって異なります。失敗ジョブの再試行や削除が可能なら、予定外の更新が発生したり、処理されるはずの更新が抜けたりします。キューの一時停止が可能な構成では、画面は正常に開けてもグラフが更新されないことがあります。監視では、フロントエンドの生存確認に加え、代表的なデータ更新の時刻とジョブが進んだ時刻を照合します。外部公開されたグラフの誤りや遅れを先に検知できる場合があります。

スポンサーリンク

遮断してから修正版と管理用の認証を用意する

すぐに更新できない場合は、管理画面が不要な公開入口で /apps/queues とその配下をプロキシで拒否します。画面の入口だけを止め、関連するAPIが配下で通ったままにならないようにします。転送先へ直接接続できる場合は、到達元を絞るなど別の制御も必要です。これは運用上の一時策です。URLをメニューから隠すだけでは接続を止められず、管理機能だけのために業務用の公開画面やAPIをすべて停止する必要があるとも限りません。どの経路を止めたかを記録し、後で再確認します。

Chartbrew:v5.2.3のリリースノートではBullMQ管理画面に Basic認証を追加し、CB_BULLMQ_USERNAME と CB_BULLMQ_PASSWORD を新設しています。ローカルの .env を利用する導入では未設定時にを補う動作が示されています。コンテナや構成管理を使う本番では自動生成に依存せず、管理している設定から専用の値を渡し、稼働するプロセスへ反映されたことを確認します。パスワードをイメージや履歴へ記録せず、管理者だけに配布します。Basic認証を利用する入口では通信をTLSで保護します。

複数のレプリカを持つ場合は、稼働中のイメージやバイナリの版を一台ずつ確認します。配備の途中で旧版が振り分け先に残っていると、同じURLを確認しても結果が揺れます。また、設定を書き換えただけで旧プロセスが動き続ける場合は、実行環境の方法に従って置き換えます。更新で戻りが必要になった場合も、旧版への切り戻しと管理経路の遮断解除は連動させません。業務画面を戻す間も管理面の到達制限を残します。

リリースノートには、旧方式で署名されたトークンの扱いを変更する記載もあります。ジョブ管理のBasic認証と通常のChartbrew利用者のログインは、更新後にそれぞれ確認します。もし管理画面だけが使えなければ、通常のログインが成功したことを復旧判定に使わず、管理側の認証情報やプロキシの設定を調べます。逆に、管理画面が開けても通常の利用者がダッシュボードを閲覧できなければ、利用者向けの復旧は終わっていません。

認証の失敗と成功を経路ごとに確認する

Chartbrew:管理画面の認証を追加した修正差分では認証情報が未設定の場合に503を返し、設定済みでも要求に有効な資格情報がない場合は401を返します。これはアプリの認証処理に届いた場合の挙動です。公開入口で先に拒否する運用では、そのプロキシ側の拒否結果で構いません。503が出た場合は管理画面を開けないという点では閉じていますが、認証設定が完了したことにはなりません。資格情報を設定しているはずなら、対象レプリカの実行環境を確認します。

検証は、アクセスを許可しない場所と管理用の場所の両方から行います。公開入口では資格情報を付けない要求で管理画面も配下の管理APIも表示されないこと、管理経路では資格情報なしと誤った資格情報が拒否されることを確認します。続いて正しい資格情報で管理画面が表示され、閲覧専用の確認ができることを確かめます。ブラウザーが直前のBasic認証を再送する場合があるので、未認証の確認は認証情報を持たない別のクライアントで行います。

認証が通らないときは、資格情報の入力ミスだけでなく、手前のプロキシが Authorization ヘッダーをバックエンドへ渡しているかも確認します。上流で別の認証を使う構成では、どの段で拒否されたかを応答とログから分けます。認証を通すために公開側の制限を外すのではなく、許可済みの管理経路で検証します。本番でジョブの削除やキューの停止を試す必要はありません。書き込み操作まで確かめる場合は、破棄できるジョブを置いた隔離環境で行います。

スポンサーリンク

過去に開いていた時間帯を確認する

修正は今後のアクセスを止めますが、過去に未認証でアクセスできたかどうかは別の調査です。公開経路があった場合は、稼働版と設定の変更履歴から、RedisとBullMQが有効で管理ルートへ到達できた期間を絞ります。その範囲で、ロードバランサーやプロキシのを保全し、管理画面と配下への要求を探します。バックエンドに直通できた構成では、公開プロキシのログだけでは足りません。アプリや接続元を記録する別のログがあるかを確認します。

アクセスが見つかった場合は、時刻、接続元、HTTPメソッド、パス、応答結果を記録し、既知の管理作業と照合します。表示が成功したことだけでは、どのデータが読まれたか、ジョブが変更されたかまでは確定しません。ジョブの履歴や再試行、削除、更新予定のずれが残っていれば、アクセス時刻と突き合わせます。メソッドだけで操作の成否を断定せず、アプリ側で観測できる状態の変化も確認します。未保存のログや保存期間を過ぎた区間は、調査できた範囲と分けて記録します。

機密値が入力やログに含まれていたと確認できた場合は、影響を受けた連携先や認証情報の範囲を絞り、失効や交換を検討します。ジョブの再実行が必要な場合も、欠けた処理を特定してから行い、正常に完了した処理を重複して実行しないようにします。運用上の完了条件は、全レプリカの更新、不要な経路からの拒否、許可済み管理者の閲覧、通常のデータ更新の確認です。過去のアクセス調査が必要な環境では、その結果も別に残します。

出典・一次情報

本記事は以下の公開情報をもとに作成しています。最新の状況は各リンク先で確認してください。

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

あわせて確認したい対策・解説

ほかの脆弱性

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク

アクセスログ

Webサーバーなどが、受け付けたリクエストを1件ずつ記録したログ。日時・接続元IPアドレス・URL・応答の状態などが残る。

詳しく見る

セッション

利用者とシステムの一連のやり取りを、ひとまとまりとして扱う単位。Webでは、ログイン状態などをページをまたいで保つために使う。

詳しく見る

認証情報

本人であることを証明するための情報。IDとパスワード、APIキー、アクセストークン、秘密鍵など。

詳しく見る

HTTP

ブラウザとWebサーバーがやりとりするための決まりごと(プロトコル)。暗号化したものはHTTPSと呼ぶ。

詳しく見る

スキーマ

データの構造や型、決まりごとを定義したもの。データベースのテーブルの設計や、JSONの形式の定義などに使う。

詳しく見る

TLS

インターネット上の通信を暗号化し、盗み見や改ざん、なりすましを防ぐための仕組み(プロトコル)。HTTPSで使われる。

詳しく見る

プロキシ

通信の間に立ち、利用者の代わりにリクエストを送ったり受け取ったりする中継の仕組みやサーバー。

詳しく見る

ロードバランサー

複数のサーバーにアクセスを振り分け、負荷を分散させる装置や仕組み。障害時に別のサーバーへ切り替える役割も持つ。

詳しく見る

フロントエンド

Webサイトやアプリのうち、利用者が直接目にして操作する画面の部分。HTML・CSS・JavaScriptなどで作る。

詳しく見る

API

ソフトウェアやサービスの機能を、ほかのプログラムから決まった方法で呼び出して使えるようにした窓口。

詳しく見る

データベース

データを決まった形式で整理して保存し、検索や更新をしやすくした仕組み。WordPressではMySQLやMariaDBを使う。

詳しく見る

ビルド

ソースコードなどから、実際に動かしたり配布したりできる形の成果物を作る作業。

詳しく見る

ブランチ

Gitなどで、作業の流れを枝分かれさせたもの。ほかの作業に影響を与えずに、機能の追加や修正を並行して進められる。

詳しく見る

パッチ

ソフトウェアの不具合や脆弱性を修正するための更新プログラム。適用することで既知の問題を解消する。

詳しく見る

CVSS

脆弱性の深刻度を0.0〜10.0の数値で評価する共通の基準。数値が大きいほど深刻度が高い。

詳しく見る

UTC

世界の時刻の基準となる時刻(協定世界時)。日本時間(JST)はUTCより9時間進んでいる。

詳しく見る

認証

アクセスしてきた相手が本人であることを確かめる仕組み。パスワードや生体情報、電子証明書などを使う。

詳しく見る

バックエンド

Webサービスなどで、サーバー側でデータの処理や保存を担う部分。利用者の画面を担うフロントエンドと対になる言葉。

詳しく見る

CVE

公開された脆弱性に付けられる世界共通の識別番号。「CVE-2026-12345」のように年と連番で表す。

詳しく見る