トップ/記事一覧/Joomla JCEの乗っ取り穴 CVE-2026-48907、推奨版は2.9.99.9へ
joomla-jce-cve-2026-48907-unauth-rce-cover-ja-update

Joomla JCEの乗っ取り穴 CVE-2026-48907、推奨版は2.9.99.9へ

Joomlaサイトの多くで使われる人気エディタ「JCE」に、ログインなしでサーバーを乗っ取れる脆弱性CVE-2026-48907が見つかりました。危険度は最大の10.0で、すでに攻撃が自動化され進行中。米CISAも緊急対応を要求しています。対象バージョンと、今すぐやるべき更新手順をまとめます。

ニュース2026年6月17日公開 2日前更新
目次
この記事のポイント

Joomlaサイトの多くで使われる人気エディタ「JCE」に、ログインなしでサーバーを乗っ取れる脆弱性CVE-2026-48907が見つかりました。危険度は最大の10.0で、すでに攻撃が自動化され進行中。米CISAも緊急対応を要求しています。対象バージョンと、今すぐやるべき更新手順をまとめます。

多くのJoomlaサイトが文章や画像の編集に使っている人気の追加機能「JCE(Joomla Content Editor)」に、ログインなしでサーバーごと乗っ取られる極めて危険な欠陥が見つかりました。Joomla(ジュームラ)はプログラミングの知識がなくてもホームページを作れる無料ソフトで、JCEはそこに後付けする文章エディタの中で最も普及した部品です。識別番号はCVE-2026-48907。危険度を示すスコアは最大値の10.0(最も深刻)で、すでに攻撃を自動で仕掛けるプログラムが出回り、実際の悪用が始まっています。

米国の政府機関であるサイバーセキュリティ・社会基盤安全保障庁(CISA)は、2026年6月16日、この欠陥を「悪用が確認された脆弱性(KEV)」のリストに追加し、連邦政府機関に6月19日までの対応を命じました。The Hacker Newsなど海外メディアも一斉に注意を呼びかけています。当サイトで追跡しているCISA KEV ダッシュボード(日本語版)に載るレベルの案件です。JCEを使っているなら、後回しにせず今すぐ最新版へ更新してください。

【続報】2026年7月29日 ― 推奨版は2.9.99.9へ。Joomla拡張の実悪用は7月も続いている

初報のあとも開発元は更新を重ねており、現在の推奨版は2026年7月8日公開の2.9.99.9です(間に7月2日の2.9.99.8があります)。開発元のセキュリティ告知も「2.9.99.9 is the recommended version for every site(すべてのサイトにとっての推奨版)」という表記に変わりました。ここは誤解しやすいので線を引いておきます。穴そのものは2.9.99.5で塞がっており、2.9.99.6以降の版はいずれも追加の堅牢化と、その過程で出た不具合の手直しです。2.9.99.5が破られた(バイパスが見つかった)という話ではありません。版ごとの中身は開発元の公式チェンジログで確認できます。

もう一点、状況の見え方が変わりました。これはJCE1件の問題ではなくなっています。6月16日のJCE登録以降、CISAのKEVには7月だけでJoomla拡張の遠隔操作系の欠陥が4件追加されました。7月7日にSP Page Builder(CVE-2026-48908)とPage Builder CK(CVE-2026-56290)の2件が是正期限7月10日で、7月10日にiCagenda(CVE-2026-48939)とBalbooa Forms(CVE-2026-56291)の2件が是正期限7月13日で登録されています。Joomla本体ではなく後付けの拡張機能が、短期間に次々と実際の攻撃に使われているという流れです。この4件の中身は当サイトのSP Page Builder・Page Builder CKの脆弱性まとめJoomla拡張の脆弱性まとめ(iCagenda・Balbooa Formsほか)で個別に扱っています。JCEを直したら終わり、ではなく、入れている拡張機能を一度棚卸しするのが今の正しい動き方です。

何が起きたのか(要点)

項目内容
対象ソフトJCE(Joomla Content Editor)
Joomla用の人気エディタ拡張
識別番号CVE-2026-48907
危険度10.0/10.0(最も深刻)
※旧基準でも9.8
何ができてしまうかログイン不要で
サーバー上の遠隔操作(乗っ取り)
悪用の状況攻撃コード公開済み
自動化された攻撃が進行中
危険なバージョン2.9.99.4 以前すべて
修正バージョン2.9.99.5(最低限)
2.9.99.9(推奨)

脆弱性とは、ソフトの作りに残ってしまった「穴」のことです。今回の穴は、攻撃者がそのサイトのアカウントを一切持っていなくても、インターネット越しに悪用できる点が特に厄介です。技術系メディアのTenableや脆弱性情報サイトのOpenCVEも、認証もユーザー操作も不要なまま乗っ取りに至ると整理しています。

この穴を、誰が、何のために狙うのか

特定の誰かを狙い撃ちにする攻撃ではありません。狙うのは、標的を選ばず、ネット中のサイトを機械で片っ端からスキャンして「穴の空いたサイト」だけを拾い集める自動攻撃の運用者です。米メディアのSC Mediaも、この欠陥が自動化された攻撃の標的になっていると報じています。攻撃の手順が公開され、しかも自動化されると、有名サイトかどうかも、規模が大きいかどうかも関係なく、JCEを入れたまま放置しているサイトが順番に引っかかっていきます。自分のサイトが小さいから安全、という考えはここでは通用しません。

引っかかったサイトに対して攻撃者がやることは、外部から自分の操作用プログラムを忍び込ませ、そのサーバーを遠隔の手足として使えるようにすることです。一度この足場を作られると、サイトの中身を書き換えたり、保存されているデータを読み出したり、サーバーを別の攻撃の中継地点にしたりと、運営者の知らないところで好き放題にされてしまいます。

被害は二方向に及びます。サイトを訪れる一般の利用者は、知らないうちに偽のログイン画面(フィッシング)へ誘導されたり、不正なファイルを掴まされたりする恐れがあります。サイトを運営する企業や個人にとっては、ページの改ざん、問い合わせフォームなどに蓄えた個人情報の流出、検索順位の失墜、そして「踏み台にされた加害者」としての信用低下まで、失うものが一気に膨らみます。だからこそ、次に説明する更新を急いでほしいのです。

そもそもJCEとは何か

Joomlaは、プログラミングの知識がなくてもホームページやネット記事を作って公開できる無料のソフト(CMS=コンテンツ管理システム)です。世界中の企業・学校・自治体のサイトで使われており、Joomla公式を中心に世界中の利用者が支える代表的なオープンソースソフトの一つです。

そのJoomlaに後付けする部品の中でも、JCEは文章を見たまま編集でき、画像のアップロードや差し替えまで一括でこなせる「文章エディタ」です。Joomla向けエディタの中では最も普及した拡張とされ、脆弱性を分析したYesWeHackも「最も使われているJoomlaエディタの一つ」と説明しています。つまり、Joomlaでサイトを作っているなら、自分のサイトにJCEが入っている可能性は決して低くありません。

JCEはソースコードが公開されたオープンソースソフトで、開発は英Widget Factory社が担い、GitHub上のリポジトリで管理されています。広く配られている部品に穴があると、それを使う膨大なサイトが一斉に危険にさらされます。いわゆるサプライチェーン型のリスクです。こうした「広く使われる部品の脆弱性」は、当サイトのOSS サプライチェーン スキャナーでも継続的に追っています。

技術的に見ると:3つの欠陥が連鎖した

この脆弱性の分類は CWE-284(不適切なアクセス制御)です。問題は一つではなく、JCEの「編集プロファイルの読み込み(プロファイルのインポート)」という機能に潜む3つの不備が連鎖して、無認証の乗っ取りという最悪の結果に直結していました。YesWeHackの解析をもとに、何が起きていたのかを順に見ていきます。

1つ目は、入口に鍵がなかったこと。本来ログイン済みの管理者しか触れないはずのインポート用の窓口が、ログイン状態を確認していませんでした。唯一の関門はCSRFトークンという合言葉だけでしたが、これは公開ページから誰でも拾えてしまうため、関門の役目を果たしていませんでした。

2つ目は、ファイルの種類を確かめていなかったこと。アップロードの処理は、ファイル名から使えない文字を取り除く `File::makeSafe()` を通すだけで、拡張子そのものは検査していませんでした。そのため `.php` のような、サーバー上でそのまま実行されてしまうプログラムファイルが素通りしてしまいます。

3つ目は、安全装置が自ら切られていたこと。コードはアップロード処理に対し `$allow_unsafe = true` を明示的に渡しており、Joomlaが標準で備える「危険な拡張子を弾く仕組み」をわざわざ無効化していました。

この3つが重なった結果、攻撃者はログインなしで悪意あるPHPファイルをサーバーの一時フォルダに置き、それをブラウザから直接呼び出して実行できました。攻撃の流れは「公開ページから合言葉を取得 → 偽のプロファイルに偽装したファイルを送り込む → 置いたファイルにアクセスして実行」という、わずか数回のやり取りで完結します。実際に動く検証コードはGitHubで公開され、攻撃ツール「Metasploit」向けのモジュールや検知用テンプレートまで出回っています。攻撃のハードルは、もはや限りなく低い状態です。

自分のサイトは危ないのか:バージョン早見表

危ないかどうかは、入れているJCEのバージョンで決まります。管理画面の「拡張機能」からJCEのバージョンを確認し、下の表で自分の立ち位置を把握してください。

JCEのバージョン状態やるべきこと
2.9.99.4 以前危険(穴あり)今すぐ更新
2.9.99.5穴は塞いだ(最低限)2.9.99.9 へ更新を推奨
2.9.99.6穴は塞いだが
アップロード不具合あり
2.9.99.9 へ更新
2.9.99.7/2.9.99.8安全(堅牢化の途中版)2.9.99.9 へ更新
2.9.99.9 以降安全(推奨)この状態を維持
2.7.x/2.8.x/2.9.x
(更新できない環境)
危険(穴あり)無償の修正パッチを適用

穴は2.9.99.5で塞がれ、2.9.99.6で堅牢化が追加されました。ただし2.9.99.6には、正常な画像やファイルのアップロードまで誤って弾いてしまう不具合があり、開発元はこれを直した2.9.99.7を6月18日に公開しています。その後も細かな手直しが続き、7月2日に2.9.99.8、7月8日に2.9.99.9が出て、これが開発元の言う現在の推奨版です。2.9.99.5以降はどれも穴が塞がった状態なので、すでに更新済みなら慌てる必要はありません。ただし今から入れるなら、最初から2.9.99.9を選ぶのが確実です。古い環境でPHPやJoomlaのバージョン条件を満たせない場合のために、開発元は穴だけを塞ぐ無償のセキュリティパッチを2.7.x/2.8.x/2.9.x向けに用意しています。ただしこれは追加の堅牢化までは含まない暫定措置のため、可能な限り本体の更新を目指してください。

これまでの経緯

← スワイプで移動

今すぐやるべきこと

対策はシンプルですが、急いでください。すでに攻撃が自動化されている以上、「うちのサイトは小さいから狙われない」という油断は通用しません。

  • JCEを2.9.99.9へ更新する。管理画面の更新機能、またはJCE公式サイトから最新版を入手します。古い環境で更新できない場合は無償パッチを当ててください。
  • すでに侵入されていないか点検する。更新は今後の侵入を防ぐもので、過去の被害は消えません。一時フォルダや公開フォルダに身に覚えのないPHPファイルがないか、管理者アカウントが勝手に増えていないかを確認します。
  • JCEを使っていないなら無効化・削除する。入れたまま使っていない拡張は、穴の入口を残すだけです。
  • JCE以外の拡張機能も棚卸しする。7月にはSP Page Builder・Page Builder CK・iCagenda・Balbooa Formsが相次いでCISAのリストに載りました。管理画面の拡張機能一覧を開き、使っていないものを外し、残すものは更新を当ててください。
  • サーバーのアクセス記録を確認する。不審なファイルのアップロードや、見覚えのないURLへのアクセスが残っていないかをチェックします。

なお、危険度の評価はNVD(米国の脆弱性データベース)でも確認できます。改ざんやデータ流出が疑われる場合は、復旧前に証拠(ログやファイル)を保全しておくと、後の原因調査に役立ちます。

まとめ

CVE-2026-48907は、ログイン不要・インターネット越しでサーバーを乗っ取れるという、Webサイトにとって最悪に近い脆弱性です。危険度は満点の10.0、攻撃コードは公開済み、攻撃は自動化され、CISAの悪用済みリストにも載りました。条件はすべて「最悪」側に振れています。

救いは、対策がはっきりしていることです。JCEを2.9.99.9へ更新する(または無償パッチを当てる)だけで、入口は塞げます。ただし7月に入ってからは、SP Page Builder、Page Builder CK、iCagenda、Balbooa Formsと、JCE以外のJoomla拡張が4件続けてCISAのリストに載りました。狙われているのはJCEという特定の部品ではなく、更新されないまま置かれたJoomlaの拡張機能そのものだと考えるほうが実態に近い状況です。Joomlaでサイトを運営している、あるいは制作を請け負っているなら、この記事を読み終えたその足で管理画面を開き、JCEのバージョンと、ついでに拡張機能の一覧を確かめてください。広く使われる部品ほど、対応の早さがそのまま被害の大きさを左右します。

参照元

avatar-m-1

堀川 慎

Backend Engineer / AWS / Django / Go