セキュリティ

Apache OFBizの脆弱性46件:24.09.08の修正内容と認証不要RCEの対応手順

Apache OFBizの脆弱性46件:24.09.08の修正内容と認証不要RCEの対応手順

Apache OFBizは24.09.08を公開し、46件の脆弱性を修正しました。最も深刻なCVE-2026-83542は、ログインしていない攻撃者がサーバー上で任意のコードを実行できる問題で、CVSS 3.1の基本値は9.8です。この記事では、2026年11月6日時点の一次情報をもとに、影響を受ける版の見分け方、security.propertiesの確認、署名を検証してからの更新手順、更新だけでは塞がらない鍵の入れ替え、すぐ上げられない場合の暫定策を、OFBizを運用する開発者と情報システム担当者向けに整理します。

まとめ:24.09.08へ更新し、JWT鍵の入れ替えと管理画面の公開範囲を当日中に点検

対応の本線は24.09.08への更新です。18.12系や24.09.07以前には、今回の修正を取り込んだ別の版が出ていません。24.09.06か24.09.07から上げる場合で、古い版のsecurity.propertiesを持ち越しているなら、更新後に./gradlew rotateSecretKeysでJWTの署名鍵を作り直します。更新だけでは既定の鍵が残るためです。

当日中に確かめるのは、業務アプリの画面(webtools・catalog・sfaなど)がインターネットから開けるかどうかです。開ける状態なら、更新が済むまでリバースプロキシで社内のIPアドレスに絞ります。2026年11月6日時点で米CISAの悪用確認済みリストには載っていませんが、OFBizは2024年に3件が載った前例があり、待つ理由はありません。

カスタマイズが多く、どの画面が外から届くか洗い出せない場合は、脆弱性診断・セキュリティ診断で公開範囲の棚卸しから始めると漏れが出にくくなります。

2026年11月のApache OFBiz脆弱性告知:46件の内訳と認証不要で届く問題

OFBizのプロジェクトは2026年11月4日(UTC)、利用者向けメーリングリストで46件のCVEを告知しました。影響は「24.09.08より前のすべての版」で、対策は24.09.08への更新です。公式のセキュリティページにも46件が修正版と修正プルリクエストつきで並んでいます。NVDへの登録は11月5日で、11月6日時点でスコアが付いているのは13件です。

CVE-2026-83542:ウィジェットXML経由のGroovy式実行

NVDのCVE-2026-83542によると、攻撃者は画面定義のXML(ウィジェットXML)をマルチパートのアップロードに忍ばせ、管理画面のログイン経路で使う装飾テンプレートの場所を、認証なしのJSONリクエストで差し替えます。CVSS 9.8とされるこの問題では、OFBizがそのXMLを読み込み、認証失敗の画面を描くときにサンドボックスの外でGroovyの式を評価する仕組みです。GroovyはJVM上で動く言語なので、式が通ればOFBizのプロセス権限で何でも実行できます。

注意したいのは2点です。アップロードしたファイルをディスクに残す必要がなく、送信中のファイルを直接読ませる手口であること。そして、認証不要と明示された/sfa/control/editPortalPageColumnWidthからも同じ問題に届き、コマンドの実行結果がHTTP 200の応答にそのまま返ることです。9.8という値はCISAがNVD上で付けたもので、CVSSv3の攻撃元区分はネットワーク、必要な権限はなしです。

もう1件の9.8と認証不要の問題:ログインキーの再利用やSQLインジェクション

46件のうち、ログインなしで届くものを優先度の順に並べると次のとおりです。ログインが必要な問題も、業務アプリの閲覧権限だけで任意のコマンド実行に至るものが4件(CVE-2026-82910・82912・84183・85627、いずれも8.8)あり、社員アカウントの乗っ取りと組み合わさると被害は同じ水準になります。

CVE CVSS 何が起きるか 条件
CVE-2026-83542 9.8 任意コード実行 ログイン不要
CVE-2026-82907 9.8 他人のセッションを再利用 externalLoginKeyの値を入手
CVE-2026-81815 未評価 任意の行を読み出す DBがMySQLかMariaDB
CVE-2026-82894 未評価 ファイル書き込み・削除 公開画面showHelpPublic経由
CVE-2026-73577 未評価 保護された画面を表示 公開URLの末尾に画面名を付加
CVE-2026-82904 7.5 処理スレッドの占有 ログイン不要

CVE-2026-82907は、アプリ間の移動に使うexternalLoginKeyが期限なしで何度でも使える問題です。キーがURLに付いて流れるため、プロキシや外部サービスのログに残った値からセッションを奪われます。CVE-2026-81815は、既定のDerbyとPostgreSQLでは成立しません。本番でMySQLかMariaDBを使っているかで優先度が変わります。

18.12系と24.09.07以前の扱い:24.09.08以外に修正版が出ない範囲

ダウンロードページに並ぶ18.12系の最新は18.12.19で、今回の告知に対応する18.12系の新版はありません。NVDの影響範囲も「0から24.09.08未満」と書かれており、18.12系を使っている環境は24.09系への移行が前提になります。

24.09系は2024年9月から機能追加を止め、修正だけを出している系統です。2026年に入ってからは24.09.06、24.09.07、24.09.08の3回で合わせて60件を超えるCVEが直りました。24.09.05以前のまま止まっている環境は、今回の46件に加えて過去2回分も抱えている計算です。

自社のOFBizが対象か判定する手順:動いている版と鍵・SSO設定の確認

判定に要る情報は3つです。動いている版、JWTの署名鍵とSSOの設定、そして管理用ポートの設定です。いずれもOFBizを置いたディレクトリで確かめられます。以下のコマンドは公式リポジトリの記載をもとに書いたもので、検証環境での実行結果ではありません。

git describeとリリースzipの名前で動いている版を確かめるコマンド

公式リポジトリでは版ごとにrelease24.09.08の形でタグが付いています(GitHubのrelease24.09.08)。git cloneで導入した環境なら、タグ名で版が分かります。

# OFBizを置いたディレクトリで実行(パスは環境に合わせる)
cd /opt/ofbiz
git describe --tags
# 例: release24.09.07 なら対象。release24.09.08 以降なら修正済み
git status --short | head
# 変更ファイルが多いときは独自改修あり。更新時の差分確認に回す

zipを展開して導入した環境では、導入記録に残るzipの名前(apache-ofbiz-24.09.07.zipなど)で確かめます。記録が無い場合は、導入した担当者や委託先に版を問い合わせてください。版が分からない状態は、対象として扱うのが安全です。

security.propertiesとstart.propertiesの鍵・SSO確認

以下のgrepで鍵とSSOの設定を確かめます。鍵の値そのものを画面やチケットに貼らないよう、値の有無だけを数えます。

# JWT署名鍵が設定済みか(1なら設定あり、0なら空)
grep -cE '^security\.token\.key=.+' framework/security/config/security.properties
# 内部SSOの設定(true なら CVE-2026-105330 の条件に当たる可能性)
grep -nE '^security\.internal\.sso\.enabled=' framework/security/config/security.properties
# 管理用ソケットのポートと鍵の有無
grep -nE '^ofbiz\.admin\.port=' framework/start/src/main/resources/org/apache/ofbiz/base/start/start.properties
grep -cE '^ofbiz\.admin\.key=.+' framework/start/src/main/resources/org/apache/ofbiz/base/start/start.properties

公式のstart.propertiesでは管理用ポートの既定値が10523で、ofbiz.admin.keyが空のあいだはソケットが開きません。24.09.07には固定の既定キーが入っていて、このポートに届く攻撃者がOFBizを停止できました(CVE-2026-97355)。ポート10523が外から届かないことも、ファイアウォールの設定で確かめておきます。

24.09.08への更新手順:署名検証から鍵の入れ替えまでの実行順

手順は「配布物の検証」「更新」「鍵の入れ替え」の順です。カスタマイズしたコンポーネントやプラグインがある場合は、更新前に差分を退避し、検証環境で画面とバッチの動作を確かめてから本番に入れます。

リリースzipのSHA512とPGP署名を検証してから展開する手順

Apacheの配布物は、ASFの検証手順に沿って署名とハッシュを確かめてから使います。zipは2026年11月2日付で配布サーバーに置かれています。

wget https://downloads.apache.org/ofbiz/apache-ofbiz-24.09.08.zip
wget https://downloads.apache.org/ofbiz/apache-ofbiz-24.09.08.zip.asc
wget https://downloads.apache.org/ofbiz/apache-ofbiz-24.09.08.zip.sha512
wget https://downloads.apache.org/ofbiz/KEYS
# 署名の検証(Good signature と出ることを確認)
gpg --import KEYS
gpg --verify apache-ofbiz-24.09.08.zip.asc apache-ofbiz-24.09.08.zip
# ハッシュの照合(2つの出力の値が一致すること)
sha512sum apache-ofbiz-24.09.08.zip
cat apache-ofbiz-24.09.08.zip.sha512

git cloneで運用している環境は、git fetch --tagsのあとrelease24.09.08のタグへ切り替え、独自改修のブランチを載せ直します。24.09系のbuild.gradleはJava 17を前提にしているため、実行環境のJDKも先に確かめます。

更新だけでは塞がらないJWT鍵:rotateSecretKeysを実行する条件

CVE-2026-105330は、24.09.06と24.09.07のうち、それより古い版のsecurity.propertiesを持ち越し、内部SSOを有効にしている構成で、工場出荷時の鍵で署名した偽のJWTにより管理者権限を取られる問題です。NVDは、24.09.08に上げても設定済みの鍵は置き換わらないと明記しています。

# 24.09.08へ更新したあと、OFBizを止めた状態で実行
./gradlew rotateSecretKeys
# security.token.key と login.secret_key_string を必ず上書きする
# 発行済みのJWTは無効になり、送信済みのパスワード再設定リンクも使えなくなる

build.gradleの説明では、generateSecretKeysは設定済みの値に触らず、rotateSecretKeysは常に上書きします。利用者全員の再ログインが要るため、業務時間外に回すのが無難です。管理用ソケットのofbiz.admin.keyはrotateSecretKeysの対象外なので、古い固定キーが残っていれば行を空にしてからgenerateSecretKeysを実行します。

すぐ更新できないときの暫定策:リバースプロキシで遮断する経路と限界

月次の改修リリースと重なるなどで当日中に上げられない場合は、外から届く範囲を狭めて時間を稼ぎます。暫定策は修正の代わりにはなりません。46件の多くは業務アプリの画面の中にあり、URLの遮断では塞ぎ切れないためです。

nginxで認証不要の経路と業務アプリ画面を社内IPに絞る設定例

OFBizの手前にnginxを置いている構成での例です。アプリ名は標準の構成で、使っていないものや独自のものは環境に合わせて足し引きします。

# 認証不要で任意コード実行やファイル操作に届く経路を先に止める
location ~* ^/sfa/control/editPortalPageColumnWidth { return 403; }
location ~* /control/showHelpPublic { return 403; }

# 業務アプリ(バックオフィス)は社内のIPアドレスだけに許可する
location ~ ^/(webtools|catalog|ordermgr|accounting|partymgr|sfa|content|facility|humanres|marketing)/ {
    allow 10.0.0.0/8;      # 社内・VPNのアドレス帯に置き換える
    deny  all;
    proxy_pass https://ofbiz_backend;
}

ECサイト(ecommerce)を公開している場合、その部分は絞れません。CVE-2026-81815のSQLインジェクションは公開側から届く可能性があり、MySQLかMariaDBの構成では更新を最優先にします。WAFのシグネチャで止められるかは製品次第で、今回の46件に対応したルールが出ているかは各社の告知で確かめる必要があります。

アクセスログで攻撃の痕跡を探すgrepと、見つかったときの初動

公開前後にさかのぼって、狙われやすい経路への要求が残っていないかを見ます。

# 認証不要の経路と、URLに載ったexternalLoginKeyの痕跡
zgrep -hE 'editPortalPageColumnWidth|showHelpPublic|externalLoginKey=' /var/log/nginx/access.log* | head -50
# 大文字小文字を無視した検索指定(_ic=Y)を含む要求(CVE-2026-81815の手口)
zgrep -hE '_ic=Y' /var/log/nginx/access.log* | head -50

POSTの本文に入る値はアクセスログに残らないため、何も出ないことは攻撃が無かった証明になりません。不審な要求に200が返っていたら、サーバーを侵害された前提で切り離し、OFBizのプロセスが作ったファイルと外向き通信を調べます。侵入後の調べ方はRCE(リモートコード実行)の解説にまとめているので、侵害が疑われる場合の調査手順を確認してください。OFBizは顧客や取引先の情報を持つため、漏えいの疑いがあれば個人情報保護委員会への報告義務の要否も同時に検討します。

OFBizを使い続けるか見直す判断基準:更新の頻度と社内体制の条件

今回の告知は、OFBizを外部公開で使い続ける費用を見直すきっかけになります。判断の軸は、機能の良し悪しではなく、年に数回出る修正版を数日で本番に入れられるかどうかです。

修正版を1週間以内に本番へ入れられない体制なら外部公開をやめる

2026年は5月以降の半年で修正版が3回出ました。今回の46件のように認証不要の問題を含む告知が出たとき、検証と本番反映に1週間以上かかる体制では、公開状態のOFBizを守り切れません。この条件に当てはまるなら、業務アプリは社内ネットワークとVPNからだけ使える構成に改め、外向きのEC機能は別の仕組みに切り出す判断を勧めます。

逆に、標準機能に近い使い方で、検証環境と自動テストがそろっていれば、更新の負担は限られます。パッチ管理の手順と同じく、告知の確認から本番反映までを定例の作業に組み込めば使い続けられます。

独自改修が多く追従できない構成は、移行か外部委託を検討する場面

見送るべきなのは、本体のGroovyやXMLを直接書き換えていて、更新のたびに差分の当て直しに数週間かかる構成です。修正版が出ても入れられない期間が長く、今回のような9.8の問題に対して無防備な時間が生まれます。この場合は、改修をプラグインに切り出して本体に手を入れない形へ直すか、別のオープンソースERP(Odooなど)や商用のクラウドERPへの移行を比べます。どちらにしても、まず今回の46件を入れるところまでは先に済ませてください。

Apache OFBizの脆弱性と24.09.08への更新でよく受ける質問と回答

告知から日が浅い段階でよく出る疑問に、11月6日時点の一次情報で答えます。

ECサイトを公開していない社内利用だけのOFBizも更新が必要ですか?

必要です。社内向けでも、社員のPCがマルウェアに感染すれば内側から認証不要の経路に届きます。ログインが必要な問題も、閲覧権限だけで任意のコマンド実行に至るものが4件あり、権限の低いアカウントが1つ乗っ取られるだけで成立します。外から届かない分、優先度は公開環境の次に置いてよいものの、修正を見送る理由にはなりません。

18.12系を使っています。18.12系向けの修正版は出ますか?

2026年11月6日時点で、今回の46件に対応する18.12系の版は出ていません。ダウンロードページの18.12系は18.12.19が最新で、公式は最新の系統を使うよう勧めています。24.09系への移行はJava 17への切り替えを伴うため、移行が終わるまではリバースプロキシで業務アプリの画面を社内IPに絞る暫定策を先に入れてください。

24.09.08に上げたあとも、追加で作業が必要なのはどんな場合ですか?

24.09.05以前の版から設定ファイルを持ち越し、24.09.06か24.09.07を経て上げてきた場合です。NVDはCVE-2026-105330について、更新後に./gradlew rotateSecretKeysの実行が要ると明記しています。新規に24.09.08を入れた環境では鍵が新しく作られるため、この作業は要りません。管理用ソケットの鍵も、古い固定値が残っていないかをgrepで確かめます。

NVDにスコアが無いCVEは、深刻ではないということですか?

違います。NVDでは登録直後の分析中にスコアが空欄のことがあり、11月6日時点では43件中13件にしか値がありません。空欄の中にも、ログインなしでファイルを書き換えられるCVE-2026-82894や、任意の行を読み出せるCVE-2026-81815が含まれます。スコアを待たず、説明文の「unauthenticated(認証不要)」の有無で優先度を決めてください。

実際に悪用されているかはどこで確かめられますか?

米CISAのKEVカタログへの登録で追います。11月6日に確かめた11月4日版には、今回のCVEはありません。一方でOFBizは、2024年8月のCVE-2024-32113とCVE-2024-38856、2025年2月のCVE-2024-45195の3件が登録済みで、過去にも公開から短期間で狙われています。登録を待たずに更新を進めてください。

関連記事

お気に入りに入れた記事の一覧

一創の公式 SNS

X では毎朝の新着記事と IT ニュースの速報を、YouTube・TikTok・Instagram・LinkedIn・Facebook では記事の解説動画を配信しています。

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.11.06 テックブログ ドコモ不正アクセス:最大29.5万件の流出項目と見舞金、My docomo停止の経過と偽連絡の見分け方
  2. 2026.11.03 テックブログ ネットマイル不正アクセスで最大549万人:対象確認と退会会員データを消す実装
  3. 2026.11.06 テックブログ あいおいニッセイ同和の不正アクセス:44.4万件の漏えい項目と窓口、止まった手続きの代わり
  4. 2026.11.06 テックブログ アイリスオーヤマ情報漏洩:アイリスプラザ770万人分の対象項目と本物の連絡の見分け方
  5. 2026.07.09 テックブログ Muse Imageとは?Metaの画像生成AIの使い方・API料金(1枚0.01ドル)と日本での提供状況【2026年10月】

RELATED POSTS 関連記事

目次