Sophosは2026年10月28日、Sophos UTMのメールプロキシに、認証なしでroot権限のコードを実行される脆弱性(CVE-2026-118633)があると公表しました。対象はUTMの全版で、成立するのはメールプロキシをスキャン有効で使っている場合です。UTMは2026年6月30日にEOLを迎えているため、修正は自動配信されず、管理者が手動でパッチを入れる必要があります。本記事では、自社のUTMが条件に当たるかの確かめ方、CVEレコードとKEVを引く確認コード、パッチ前後の点検、EOL後に使い続けるか移行するかの判断を、2026年10月30日時点の一次情報で整理します。
まとめ:Sophos UTMはメールプロキシの設定を確かめ当日中に手動パッチ
最初に確かめるのは、UTMのSMTPプロキシが有効か、マルウェアスキャンが「Off」以外になっているかの2点です。両方に当たる機器は、ベンダーが回避策なしとしているため、KBA-000049692の手順でパッチを入れるまで外部からの攻撃にさらされ続けます。
パッチを入れても、UTMの扱いは変わりません。サポートは2026年12月31日で完全に終わります。今回の手動パッチは延命の一手であって、Sophos Firewallなど後継への移行日程を決めることが本来の対応です。
CVE-2026-118633の中身と全版が対象になったSophos UTMの事情
メールプロキシのスキャン有効時に成立する未認証root実行の仕組み
SophosのセキュリティアドバイザリResolved Pre-Auth RCE Vulnerability in Sophos UTMによると、欠陥の種類はパストラバーサルです。メールプロキシをスキャン有効で使っている場合、認証されていない遠隔の攻撃者がroot権限で任意のコマンドを実行できます。
攻撃が成立するには、数分間にわたって攻撃を繰り返し、競合状態(レースコンディション)に勝つ必要があるとされています。1回の送信で即座に乗っ取られる種類ではありません。ただし繰り返しは自動化できるため、条件に当たる機器では猶予にはならないと見るべきです。攻撃経路の詳細は公表されていません。
CVEレコードのCVSS v4 9.2とv3.1 8.1が分かれる理由
CVEレコードはSophos自身が採番機関(CNA)として登録したもので、CVSS v4.0で9.2(Critical)、v3.1で8.1(High)の2つの値が付いています。差が出るのは、競合状態に勝つ必要がある点の扱いです。v3.1では攻撃の複雑さを「高(AC:H)」として点を下げ、v4.0では攻撃の前提条件(AT:P)として分けて評価しています。
弱点の分類はCWE-35(.../...//のような三重ドットの並びを無害化できないパストラバーサル)です。CVEとCWEの関係はCVEとCWEの違いで解説しています。影響範囲は「SG UTM 9.724以下」と記録され、アドバイザリの「全版」と同じ意味になります。
EOL済みのため修正が自動配信されずKBA-000049692で手動適用する点
アドバイザリは、UTMがEOLのためパッチは手動で入れる必要があると明記しています。通常のUTMは、Up2Dateが15分ごとに更新を確かめて自動でダウンロードします。今回はこの経路に乗らないため、Up2Dateの画面に新しい版が出ないことを「対応済み」と読み違えないようにしてください。
適用手順はSophosサポートのKBA-000049692にあります。ベンダーが示すもう1つの対処は、サポート対象のSophos Firewallへの切り替えです(KBA-000003353)。回避策の欄は「No」で、設定変更だけで済ませる公式の手段はありません。
自社のSophos UTMが条件に当たるかを確かめる画面とコードの手順
WebAdminでSMTPプロキシとマルウェアスキャンの設定を見る2画面
Sophos UTM 9.707の管理者ガイドに沿うと、確認する画面は次の2つです。
- Email Protection > SMTP > Global:SMTPのトグルが緑(有効)かを見る。Simple modeとProfile modeのどちらでも対象になりうる
- Email Protection > SMTP > Malware:Malwareの設定が
Off以外(既定はQuarantine)なら、スキャン有効とみなす
Profile modeで運用している場合は、スキャン設定はプロファイルごとに個別の指定です。1つでもスキャン有効のプロファイルがあれば条件に当たると扱います。あわせて、Management > Up2Date > OverviewのFirmware欄で稼働中の版を控えてください。冗長構成なら両系とも見ます。
CVEレコードの影響範囲とCVSSをcurlとjqで取り出す確認コマンド
アドバイザリのページは更新されることがあるため、判断の根拠はCVEレコードの機械可読データで残しておくと後から追えます。CVE ProgramのAPIは認証なしで引けます。
# CNA(Sophos)が登録した影響範囲とCVSSを取り出す
curl -s https://cveawg.mitre.org/api/cve/CVE-2026-118633 \
| jq -c '.containers.cna | {affected, metrics: [.metrics[] | (.cvssV4_0 // .cvssV3_1) | {version, baseScore, vectorString}]}'
2026年10月30日に実行すると、"lessThanOrEqual":"9.724"の影響範囲と、v3.1の8.1、v4.0の9.2が返ります。版の上限やスコアが後で書き換わった場合も、同じコマンドの出力を比べれば差分が分かります。
UTMの台帳とCISA KEVを照合して要対応の機器を出すPythonスクリプト
台数が多い組織では、機器ごとの判定を台帳から出します。次のスクリプトは、版・SMTPプロキシ・スキャン設定・パッチ適用日を書いた台帳から要対応の機器を出し、あわせて米CISAのKnown Exploited Vulnerabilities CatalogにSophos製品の登録が増えていないかを確かめます。実行に必要なのはPythonの標準ライブラリだけです。
import json, urllib.request
CVE_ID = "CVE-2026-118633"
MAX_AFFECTED = (9, 724) # CVEレコードの lessThanOrEqual
KEV_URL = "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json"
# 自社のUTM台帳(例)。版は Management > Up2Date > Overview の Firmware 欄で確認した値
INVENTORY = [
{"name": "本社SG230", "version": "9.724", "smtp": True, "malware": "Quarantine", "kba_patched": None},
{"name": "倉庫SG115", "version": "9.718", "smtp": False, "malware": "Off", "kba_patched": None},
]
def ver(s):
major, minor = s.split("-")[0].split(".")[:2]
return int(major), int(minor)
for u in INVENTORY:
if u["kba_patched"]:
status = "KBA-000049692 適用済み(" + u["kba_patched"] + ")"
elif ver(u["version"]) > MAX_AFFECTED:
status = "対象外"
elif u["smtp"] and u["malware"] != "Off":
status = "要対応:条件に一致"
else:
status = "版は対象・条件外(設定変更で条件に入らないよう監視)"
print(u["name"], u["version"], status)
req = urllib.request.Request(KEV_URL, headers={"User-Agent": "utm-check/1.0"})
with urllib.request.urlopen(req, timeout=60) as r:
kev = json.load(r)
sophos = [v for v in kev["vulnerabilities"] if v["vendorProject"].lower() == "sophos"]
listed = any(v["cveID"] == CVE_ID for v in sophos)
print("KEV", kev["catalogVersion"], "Sophos", len(sophos), "件", CVE_ID, "掲載=", listed)
for v in sorted(sophos, key=lambda x: x["dateAdded"], reverse=True):
print(" ", v["dateAdded"], v["cveID"], v["product"])
パッチ適用の有無を版と別の列(kba_patched)で持つのは、手動パッチの適用で表示上の版が変わるかを公開情報から確かめられなかったためです。適用日を台帳に書けば、版の表示に頼らず管理できます。
2026年10月29日版のKEV(catalogVersion 2026.10.29)で実行すると、Sophosの登録は7件で、CVE-2026-118633は「掲載= False」と出ます。悪用が確認されていない段階ですが、UTMの過去の脆弱性CVE-2020-25223は公表から約1年半後の2022年3月25日にKEVへ追加されました。掲載を待ってから動く理由にはなりません。VPN機器も含めた照合の組み方はVPN機器の版確認コマンドとKEV照合スクリプトで詳しく扱っています。
Sophos UTMの手動パッチ前後で確かめる外部公開と侵害の痕跡
社外からSMTP 25番とWebAdmin 4444番が届くかを確かめる
管理者ガイドによると、WebAdminの既定ポートはTCP 4444、SMTPは25番です。社内から見た設定と、社外から実際に届くかは別物なので、社外の回線から公開IPに対して確かめます。
# 社外の回線から実行する(203.0.113.10 は自社UTMの公開IPに置き換える)
nc -vz -w 5 203.0.113.10 25
nc -vz -w 5 203.0.113.10 4444
25番が開いていてスキャン有効なら、今回の条件に当たる機器が外から届く状態です。4444番が開いている場合は、今回の脆弱性とは別に塞ぎます。Sophosは2020年のWebAdminの脆弱性CVE-2020-25223のアドバイザリで、WebAdminの許可ネットワークを内部のネットワークだけにする回避策を示しています。
パッチ適用前に侵入されていた場合に確認するログと設定の4項目
パッチは今後の侵入を防ぐだけで、適用前に入られていたかどうかは教えてくれません。root権限での実行を許す脆弱性なので、点検は機器全体に及びます。
- WebAdminの管理者アカウントとShell Accessの設定に、覚えのない追加や変更がないか
- SMTPプロキシのログに、同じ送信元から数分間続く大量の接続がないか
- UTMから内部ネットワークや外部へ、業務と関係のない通信が出ていないか
- 設定バックアップの最終日時と、運用記録にない設定変更がないか
2つ目は、競合状態に勝つために攻撃を繰り返す必要があるという今回の性質から考えた手がかりです。ベンダーは侵害の痕跡(IoC)を公表していません。不審な点が見つかった場合、パッチを当てた機器をそのまま使い続けず、移行先の機器を前倒しで立てるほうを選びます。
回避策なしの機器でパッチまでの間にメールの経路を切り替える判断
ベンダーは回避策を示していません。それでも、アドバイザリの成立条件はメールプロキシをスキャン有効で使っていることなので、受信メールの経路をUTMから外せば条件から外れます。たとえばMXレコードをクラウドのメールセキュリティや別のゲートウェイへ向け、UTMの25番を外部から閉じる方法です。
スキャンだけをOffにする方法は勧めません。条件からは外れますが、メールのウイルス対策を自ら止めることになり、別の被害を招きます。経路の切り替えにも1日以上かかるなら、手動パッチを先に入れるほうが早いと判断します。
EOL後のSophos UTMを使い続けるか移行するかを決める判断基準
2026年12月31日でサポートが完全に終わるUTMのEOLの日程
SophosのSophos UTM EOLの告知によると、UTMは2026年6月30日にEOLとなりました。EOL後も有効なライセンスがあればサポートは続きますが、ライセンスの期限にかかわらず2026年12月31日より後のサポートはありません。ライセンスが切れた機能は保護が止まり、対応するWebAdminのタブも開けなくなります。
今回のパッチは、EOL後でも深刻な脆弱性には修正を出すという対応でした。2027年以降に同じ対応が続く保証はありません。次に同じ種類の脆弱性が出たとき、塞ぐ手段が残っていない可能性を前提に計画を立てます。
EOLのUTMを使い続けてよい条件と移行を先に決めるべき組織
12月末まで使い続けてよいのは、今回のパッチを当日中に入れられ、移行先の機器と切り替え日がすでに決まっている組織です。メールの受信をUTMで受けていない構成なら、今回の条件からも外れます。
反対に、UTMの版も設定も誰も把握していない、保守を委託先に任せていて手動パッチの依頼に数週間かかる、という状態なら、パッチより移行の決定を先に済ませるべきです。移行の前に、外から見える入口と、UTMが破られたときに届く範囲を洗い出しておくと、移行先の設計が速くなります。自社だけで公開機器の洗い出しが難しいときは、脆弱性診断・セキュリティ診断で、UTMから業務システムまでの経路を含めた点検が可能です。保守終了したネットワーク機器の移行判断の例はNEC IXシリーズのEOLと移行判断でも扱っています。
Sophos Firewall移行用のConfig Studioと移行先にも残る論点
Sophosは移行ツールとしてSophos Firewall Config Studioを案内しています。UTMの設定をそのまま写す道具ではなく、移行先の設定を組み直す作業は残ると見ておくべきです。メールの保護をUTMに任せていた組織は、移行先でSMTPを受けるのか、クラウドのメールセキュリティに分けるのかを先に決めます。
移行先が同じベンダーでも、脆弱性の管理が不要になるわけではありません。KEVにはSophos Firewall(CVE-2022-1040、CVE-2022-3236)やSFOS(CVE-2020-12271)の登録もあります。機器を替えたあとも、版の台帳とKEVの照合は継続が必要です。UTMという製品の位置付けはUTMとはで整理しています。
よくある質問
Sophos UTMの脆弱性について、確認と対応の判断で寄せられやすい質問をまとめました。
メールプロキシを使っていなければ、パッチは不要ですか?
アドバイザリの成立条件はメールプロキシをスキャン有効で使っている場合なので、SMTPプロキシが無効の機器は今回の条件に当たりません。ただし、後から設定を有効にすれば条件に入ります。版は全版が対象のため、SMTPを使う予定がある機器や設定変更の権限者が多い環境では、パッチを入れておくほうが管理は簡単です。判断は台帳に残してください。
Up2Dateに更新が出てこないのは、対応済みということですか?
違います。UTMはEOLのため、今回のパッチは通常のUp2Dateで自動配信されず、手動で入れる必要があるとベンダーが明記しています。画面に更新が出ないことは対応済みを意味しません。KBA-000049692の手順で適用し、適用日を台帳に記録してください。管理者ガイドでは、手動のパッケージはManagement > Up2Date > AdvancedのManual Up2Date Package Uploadから入れる手順になっています。
CVSSが9.2と8.1の2つあるのはなぜですか?
CVEレコードに、CVSS v4.0の9.2とv3.1の8.1が併記されているためです。どちらもSophosが付けた値です。競合状態に勝つ必要がある点を、v3.1は攻撃の複雑さ(高)として点を下げ、v4.0は攻撃の前提条件として別に扱うため、点数に差が出ます。どちらの値でも、社外から届く機器で未認証のroot実行が起きうることに変わりはありません。
この脆弱性はすでに悪用されていますか?
2026年10月30日時点で、アドバイザリに悪用の記載はなく、CISAのKEVにも掲載されていません。ただし、UTMの過去の脆弱性CVE-2020-25223は公表から約1年半後にKEVへ追加されており、公表時点で悪用がないことは安全を意味しません。KEVの掲載状況は本記事のスクリプトで毎日確かめられます。
EOLのUTMをSophos以外の製品へ移しても問題ありませんか?
問題ありません。Sophosの案内はSophos Firewallへの移行ですが、選定は自社の構成で決めます。比べる軸は、メールの保護を同じ機器に持たせるか、VPNの方式、管理画面を外部に出さずに運用できるか、修正版の提供期間です。どの製品もKEVに悪用済みの登録があるため、移行後の版管理の体制まで含めて選んでください。
関連記事
- VPN 脆弱性:機器の版確認コマンドとKEV照合スクリプト・パッチと移行の判断:UTM以外のVPN機器も含めた版確認とKEV照合の手順
- UTMとは?統合脅威管理の機能とファイアウォールとの違い、企業の選び方を解説:UTMという製品カテゴリの役割と選び方
- ファイアウォールとは?仕組み・種類とWAF・UTMとの違い、企業の選び方を解説:移行先を選ぶ前に整理したい機器の違い
- BOD 26-04とは?KEVの是正期限を4変数で決める仕組みと自社運用への移し方:KEVに載った脆弱性を何日で直すかの考え方
- Fortinetの脆弱性まとめ|FortiGateの悪用済みCVE一覧と仮想パッチ・確認手順:移行先候補のFortiGateを使う場合の確認先