NocoDBに脆弱性2件、管理者権限奪取など修正版あり
NocoDBの2026.09.0より前の版に、添付ファイル経由で他の利用者になりすませるXSSと、新規構築時に管理者権限を奪われる脆弱性があります。自社で運用しているなら2026.09.0へ更新し、見覚えのない管理者がいないかも確認してください。
同じ発表の脆弱性 2 件
この記事でまとめた分です。発表元の告知には、ほかの脆弱性も載っていることがあります。
- CVE-2026-126269 高 9.3
- CVE-2026-126273 高 9.2
急ぎ度: 早めに
CVSS v4は9.3と9.2で、どちらも管理者やほかの利用者の権限を奪われる内容ですが、修正版2026.09.0がすでに公開されています。
関係があるか
NocoDBを自社のサーバーやコンテナーで運用している組織が対象です。XSSは複数の利用者にEditor以上のロールを渡している環境で、管理者権限の奪取は構築直後でインターネットなどから登録画面に届く環境で問題になります。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| NocoDB | 2026.09.0より前のすべての版 | 2026.09.0 |
確かめ方
- 1稼働中のNocoDBの版を確認し、2026.09.0より前なら対象です。Dockerなら使っているイメージのタグから分かります。
- 2新しくNocoDBを構築した環境では、管理者パスワードの環境変数が空のまま起動していないかを確認します。空だった場合は、管理者一覧に自分たちが作っていないSuper Adminがいないかも見ます。
- 3Editor以上のロールを持つ利用者がいるかを確認します。いれば、添付ファイルのMIMEタイプにtext/htmlを含む不自然な値が入っていないかを調べます。
何が起きたか
NocoDBは、2026.09.0より前の版に2件の脆弱性があります。一方は添付ファイルの扱い、もう一方は初期の管理者設定にあり、どちらも悪用されると、ほかの利用者や管理者の権限を第三者に握られます。
- CVE-2026-126269: 添付ファイルのMIMEタイプに細工した値を保存されると、閲覧した利用者のブラウザーでスクリプトが動き、セッショントークンを盗まれてなりすまされる(CVSS v3は8.7、v4は9.3)
- CVE-2026-126273: 管理者パスワードの環境変数が空だと、初期の管理者作成が黙って省略され、最初にサインアップした人がCreatorとSuper Adminの権限を得て全面的な管理権限を握る(CVSS v3は8.1、v4は9.2)
前者は、添付ファイルをプレビューしてよいか判定する処理の甘さが原因です。許可リストとの照合が部分一致だったため、許可された名前を含む細工済みの値が通り、NocoDB自身のドメインからHTMLとして返されました。弱点の種類はCWE-79です。後者はCWE-269に分類されています。
XSSのGitHub上の勧告は、2026年10月27日付で出ています。
攻撃の流れ
-
1
添付を登録
Editor以上のロールを持つ者が、レコードのAPI経由で添付ファイルを書き込みます。
-
2
細工した値を保存
検証されないまま、細工したMIMEタイプが添付データに保存されます。
-
3
HTMLとして配信
署名付きURLが、保存された値をそのまま使ってHTMLを画面に直接表示させます。
-
4
閲覧者の端末で実行
添付を開いた利用者のブラウザーで、NocoDBのドメインとしてスクリプトが動きます。
-
5
なりすまし
ブラウザーに保存されたセッショントークンを読まれ、APIを通じて本人として操作されます。
どう悪用されるか
XSSのほうは、添付ファイルを保存する側にbaseのEditor以上のロールが必要です。保存した添付を配信する署名付きURLの側には、認証が要りません。実際にスクリプトが動くのは、利用者がアプリ内のレコードからその添付を開いたとき、またはリンクをたどったときです。ネットワーク越しに仕掛けられますが、閲覧者の操作が必要になります。PDFプレビュー画面にも同じ応答が埋め込まれます。
スクリプトが動くと、セッショントークンを読まれ、被害者として認証済みのAPIを使われます。被害者がbaseのオーナーやSuper Adminなら、影響はそれだけ広がります。
管理者権限の奪取のほうは、認証が要りません。管理者パスワードの環境変数が空のまま構築された新しいインスタンスで、公開されているサインアップの入口を最初に呼んだ人が、CreatorとSuper Adminの権限を得ます。得られるのは全面的な管理権限です。
今すぐやること
-
1
稼働中の版を確認する
本番、検証、個人が立てたものを含め、NocoDBが動いている場所をすべて洗い出して版を調べます。
docker image ls nocodb/nocodb -
2
2026.09.0に更新する
2件とも2026.09.0で修正されます。更新の前に、データベースとアップロード済みファイルのバックアップを取っておきます。
-
3
管理者とロールを確認する
Super AdminとCreatorの一覧に、運用担当者が作っていないアカウントがないかを見ます。新しく構築したインスタンスは、とくに構築直後に外から届く状態だったかを確認します。
-
4
添付ファイルの異常を調べる
Editor以上のロールを持つ利用者が登録した添付に、text/htmlを含むMIMEタイプが入っていないかを調べます。見つかったら、該当の添付を開いた可能性のある利用者のセッションを無効にし、再ログインしてもらいます。
すぐ更新できないとき
更新までのつなぎとして、管理者パスワードの環境変数を設定してから起動し、構築直後のインスタンスを外部に公開しないようにします。あわせて、Editor以上のロールを必要な利用者だけに絞ります。いずれも修正の代わりにはなりません。
背景
NocoDBはオープンソースのツールで、MySQLやPostgreSQLなどのデータベースを、表計算ソフトに近い画面で扱えるようにします。顧客一覧や案件管理のような業務データと添付ファイルが集まりやすく、現場の担当者にEditorのロールを広く渡している会社も多いはずです。今回のXSSは、ログイン状態を示すセッショントークンがブラウザーのlocalStorageに置かれているため、画面上でスクリプトが動くことがそのままなりすましにつながります。
管理者権限のほうは、初期の管理者を環境変数から作る仕組みにあります。パスワードが空だと作成が黙って飛ばされ、最初にサインアップした人が管理者になってしまいます。構築直後の、管理者がまだ決まっていない短い時間が狙われる形です。
よくある質問
Q.通常のアップロード画面を使わせている限り、XSSは起きませんか。
Q.2件のうち、先に対処すべきなのはどちらですか。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| パッケージ | 影響を受ける版 → 修正版 | |
|---|---|---|
| nocodbnocodb |
2026.09.0 未満→ 2026.09.0 |
2026.09.0 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
NocoDB before 2026.09.0 contains a stored cross-site scripting vulnerability that allows authenticated Editor users to execute scripts by storing crafted attachment MIME types like text/html;image/png. Attackers can write the value through the records API so the /dltemp signed URL serves HTML inline, stealing session tokens from localStorage to impersonate victims.
出典: CVE.org (CVE Program・cvelistV5) NVD