ラボまとめコラムニュース
ブログ/記事一覧/Goobi viewerに認証なし脆弱性 CVE-2026-45083、デジタルアーカイブが危機
goobi-viewer-cve-2026-45083-solr-unauth-streaming-cover-ja

Goobi viewerに認証なし脆弱性 CVE-2026-45083、デジタルアーカイブが危機

図書館・博物館のデジタルアーカイブ閲覧プラットフォーム『Goobi viewer』v4.8.0以上・v26.04.1未満に認証なしの致命的脆弱性 CVE-2026-45083(CVSS 9.8)。REST endpoint経由でSolr streaming expressionが任意送信可能、文化資料データの読取・改竄・削除まで届く。v26.04.1で修正。

ニュース 本日更新
avatar-m-1

堀川 慎

Backend Engineer / AWS / Django

2026.05.286 min0 views
この記事のポイント

図書館・博物館のデジタルアーカイブ閲覧プラットフォーム『Goobi viewer』v4.8.0以上・v26.04.1未満に認証なしの致命的脆弱性 CVE-2026-45083(CVSS 9.8)。REST endpoint経由でSolr streaming expressionが任意送信可能、文化資料データの読取・改竄・削除まで届く。v26.04.1で修正。

図書館・博物館・大学のデジタル化資料を閲覧するためのOSSプラットフォーム「Goobi viewer」に、認証なしで文化資料データベース全体に到達できる致命的脆弱性CVE-2026-45083が見つかりました。CVSS 9.8、2026年5月27日にメンテナのドイツ intranda 社がGitHub Security Advisory(GHSA-2rgp-f66f-4499)として開示しました。

問題はPOST /api/v1/index/streamのRESTエンドポイントが、認証なしのリクエストから受け取った任意のSolr streaming expressionを、何の検証もせずにバックエンドのSolrサーバへ転送してしまうことです。結果として攻撃者は、本来はmoving wall(公開猶予期間)、ライセンス制限、IP制限などのアクセス条件で守られていた未公開資料を含めて、Solrインデックス全件を匿名で読める状態になっていました。さらにupdate()delete()のexpressionを送れば、メタデータ改竄やコレクション全削除まで可能でした。

影響を受けるのはv4.8.0〜v26.04.0。修正版v26.04.1では問題のエンドポイント自体が削除されています(修正コミット326980f)。文化機関のデジタルアーカイブは、研究者・市民の知の基盤として「データの真正性」が極めて重要視される領域であり、CVSS 9.8 の数字以上にコミュニティへの影響が大きい事案です。

Goobi viewerとは何か

Goobi viewer は、ドイツのintranda社が開発するOSSで、図書館・博物館・公文書館がデジタル化した古文書、写本、地図、写真、新聞などをWeb上で閲覧・全文検索できるようにするプラットフォームです。同社の文書スキャン管理ツールGoobi workflowと組み合わせて、「資料をスキャンする → メタデータを付与する → 公開する」までの一連の業務をカバーします。

主な利用シーンは次の通りです。

  • 大学図書館・国立図書館が、貴重書や絶版資料のスキャン画像を一般公開する閲覧サイト
  • 博物館・美術館がコレクションの画像と解説情報をオンラインで提供
  • 公文書館が古い行政文書を OCR + 全文検索可能な形で公開
  • 研究機関が研究資料のデジタルアーカイブを構築・運営
  • 欧州の Europeana 等の広域文化情報基盤への連携元として導入

特に欧州の公共機関、ドイツ語圏の大学図書館を中心に、世界中の数百規模の文化機関で運用されており、デジタルヒューマニティーズ分野の標準的な閲覧基盤の1つです。日本でも一部の大学・研究機関のデジタルアーカイブで採用例があり、文化財DXの選択肢として認知されつつあります。

技術的には、Java/Spring ベースのWebアプリケーションで、Apache Solrを全文検索エンジンとして利用しています。今回問題となったのは、その Solr へのフロントエンドの「窓」が、本来限定的に開けられているべきところを、認証なしで誰でも自由に Solr の機能を呼べる状態になっていた点です。

CVE-2026-45083の中身

脆弱性の根本は、Goobi viewer が用意していたPOST /api/v1/index/streamエンドポイントの設計にあります。NVDの分類はCWE-306(重要機能の認証欠落)。

項目内容
CVE番号CVE-2026-45083
CVSS v3.19.8(緊急)
CVSSベクトルAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
脆弱性の種類CWE-306
認証欠落
脆弱なエンドポイントPOST /api/v1/index/stream
影響バージョンv4.8.0 〜 v26.04.0
修正バージョンv26.04.1(エンドポイント削除)
修正コミット326980f
認証要否不要(PR:N)
CISA KEV未登録(2026年5月28日時点)

Solr streaming expressionsは、Apache Solrが提供する強力なデータ操作言語で、検索だけでなく、レコードの更新(update())、削除(delete())、他のSolrコレクションとの結合、機械学習関連の処理まで含む幅広い機能を持ちます。本来は管理者やアプリケーション内部からのみ呼ばれるべきもので、エンドユーザーに直接公開してはいけない類のAPIです。

攻撃者が認証なしでこのエンドポイントに到達できる場合、できることは次の通りです。

  • 読み取り:moving wall、ライセンス制限、IP制限などGoobi viewer のアクセス制御で保護されていた未公開資料を含む、Solr index 全件取得
  • 改竄update()でメタデータフィールドの書き換え。アクセス条件値も書き換えられ、本来非公開のはずの資料を「公開」に変更可能
  • 削除delete()でコレクション全体の削除。復旧には再インデキシングが必要で、大規模アーカイブでは数日〜数週間の停止
  • ドキュメント構造の破壊:意図しないフィールドのupsertでスキーマ整合性を崩す

この4種の悪意ある操作は、デジタルアーカイブが守るべき三大価値「真正性(authenticity)」「完全性(integrity)」「可用性(availability)」のすべてを同時に破壊します。文化機関にとって資料データベースは単なる「DB」ではなく、研究者・市民が「この記述が正しい」と信頼する根拠そのものであり、改竄が起きた場合の信頼回復には長い時間が必要です。

なぜ「アクセス制限の中の資料」まで漏れるのか

Goobi viewerは図書館コミュニティ特有の3つのアクセス制限を組み込んでいます。それぞれが今回の脆弱性で同時にバイパスされます。

moving wall(移動壁):新聞や雑誌の電子版でよく使われる「過去N年分は無料公開、直近N年は有料」の仕組み。Goobi viewer は publication date とアクセス権を関連付けて表示制御していますが、Solr index 自体には全データが入っているため、直接Solrにアクセスされれば回避されます。

ライセンス制限:書籍の電子化において、著作権者・出版社との契約で「研究機関内からのアクセスのみ」「特定の学位課程の学生のみ」と限定された資料。図書館側はGoobi viewer の表示制御で実装していますが、Solr index 内には実コンテンツが格納されているため、CVE-2026-45083 経由ではこれも素通しです。

IP制限:「キャンパス内からのみ閲覧可能」とする運用。これも Goobi viewer のフロントエンドで実装されている認可ルールで、Solrへの直接アクセス経路では効かないため、CVE-2026-45083 のエンドポイントが外部公開されていれば素通しです。

著作権・出版社・寄贈者との契約上、これらのアクセス制限は法的義務として課されている場合が少なくありません。今回の脆弱性で漏えいが確認された場合、図書館は契約上の責任問題、研究倫理上の説明責任、寄贈者への報告義務まで一気に背負うことになります。技術的なRCEではないものの、社会的な影響は同等以上です。

いますぐやるべきこと

1. Goobi viewerをv26.04.1以降にアップデート。 GitHubリリースページから最新版を取得します。Dockerイメージで運用している場合はintranda/goobi-viewer系イメージのタグを最新に切り替えます。修正コミット326980fでは問題のエンドポイント自体が削除されているため、エンドポイント機能を独自に使っていた組織は代替手段の検討が必要です。

2. すぐにアップデートできない場合はリバースプロキシで遮断。 Goobi viewerの前段にApache httpdを置いている場合、LocationMatchディレクティブで該当エンドポイントへのリクエストを拒否します。Tomcatを使っている場合はweb.xmlsecurity-constraintを追加して認証必須にします。

# Apache httpd の例
<LocationMatch "^/api/v1/index/stream">
    Require all denied
</LocationMatch>

3. アクセスログを過去6か月分遡って点検。 /api/v1/index/streamへのPOSTリクエストがログに残っていないかチェックします。身に覚えのないリクエスト、特に異常に長いボディやupdate / deleteを含むSolr expressionが見つかれば、改竄や削除の可能性を疑います。

4. Solr index の整合性確認。 過去のバックアップとSolr index を比較し、メタデータの不審な変更がないかを検証します。アクセス条件値(moving wall、license restriction、IP restriction関連のフィールド)が変更された資料がないかは特に重点的に確認します。

5. 公開を見送るべき資料が「公開」になっていないか確認。 図書館側のメタデータ規約(CCライセンスやアクセス権の運用ガイドライン)と、Solrに登録されている実際の値が一致しているかを資料単位でクロスチェックします。攻撃者が長期間活動していた場合、特定の貴重資料が静かに「公開」状態に書き換えられている可能性があります。

6. 寄贈者・著作権者・契約相手への影響可能性を法務確認。 該当バージョンを外部公開していた期間がある場合、契約上のアクセス制限資料が漏えいした可能性を法務・コンプライアンス部署と協議します。著作権法上の通知義務、研究倫理上の報告義務、寄贈契約上の説明責任の有無を整理し、必要に応じて関係者への報告を準備します。

文化機関OSSのセキュリティ管理という課題

図書館・博物館・公文書館は、商用クローズドソース製品よりも、Goobi viewer のような専門特化型OSSを採用するケースが多い領域です。研究機関の予算制約、長期保存への要求、ベンダーロックイン回避、コミュニティ駆動の機能拡張といった理由が背景にあります。

一方で、文化機関のIT運用は商用エンタープライズに比べて慢性的な人的リソース不足を抱えており、OSSの脆弱性追跡・即時パッチ適用は得意分野とは言えません。Goobi viewerの今回のCVEのように、商用ベンダーの大型製品なら確実にニュースになるレベルの脆弱性が、文化機関OSS界隈では十分に周知されないまま放置されるリスクがあります。

日本国内では、文化財DX、地域資料デジタル化、大学リポジトリといった文脈でデジタルアーカイブ構築が進んでいます。OSSサプライチェーン・スキャナーのような継続的観測の仕組みを文化機関にも適用し、Goobi viewer、DSpace、Omeka、Greenstone、Invenio、Mukurtu等の専門OSSのCVEを自治体・大学のIT部門が組織横断で共有する文化が必要な段階に来ています。

本サイトでは、攻撃中とCISAが認定したCVEの一覧と修正期限をCISA KEVダッシュボード(日本語版)で随時更新しています。Goobi viewer 関連は本記事公開時点ではKEV未登録ですが、文化機関のデジタルアーカイブを標的にした攻撃キャンペーンは過去にも例があり、悪用観測次第で短期間に状況が変わる可能性があります。

参照元