要点
影響バージョン
- CVE-2026-102489(セッション固定 →
zammadユーザーとしてのRCE): DIVDによれば 6.3.0〜6.5.4 で悪用可能。7.0.0〜7.1.3 にも欠陥はあるが、環境条件により実用的には悪用できないとされる。CISA KEVは Session Fixation(CWE-384)として記載。 - CVE-2026-102490(ローカル権限昇格): DIVDによれば v1.5.0〜v7.1.0-alpha で、ローカルの
zammadユーザーが root へ昇格できる。CISAは Improper Privilege Management(CWE-269)とし、102489と連鎖可能と明記。 - Zammad社の公式見解(2026-10-01): 102489はサポート終了の 6.5 以前でのみ悪用可能で、7.0 以降は影響なし。102490は当初詳細未受領で検証できず、同日夜にDIVDから詳細を受け取り対応中と更新。単独ではリモート悪用不可。推奨は 7.2.0 へ更新。
今すぐやること
- 自己ホストのZammadを 7.2.0(またはベンダーが示す最新安定版)へ上げる。6.5 以前はサポート外のため優先して移行する。アップデートできない場合はインターネット公開を止め、オフライン化する。
- 更新前に証跡を保全する。DIVDが公開するログ確認スクリプトでIoCを確認する。CISAは法医的トリアージを求め、連邦機関の期限は 2026-10-05。
- 侵害が疑われる場合は、ヘルプデスクから他サービスへの横移動・ボランティア/顧客データの流出有無を調査する(DIVD事例ではボランティアのメール等の流出が確認)。
- 「DIVD名乗る」連絡が不自然なら、先方に直接確認する(DIVD自身がなりすましリスクを警告)。
概要
- オランダの脆弱性開示団体 DIVD は、2026-09-21 にネットワークへ侵入され、入口がオープンソース・ヘルプデスク Zammad の未公表2件の欠陥だったと公表した(ケース DIVD-2026-00014/00015)。
- DIVDとMerlon Securityの調査では、セッションを乗っ取って
zammadとしてコード実行する欠陥(CVE-2026-102489)と、そこから root へ上げる欠陥(CVE-2026-102490)が連鎖し、秒単位で特権を取られた。攻撃はスクリプトに「自分の行動を正当化するメモ」が残るなど、agentic AI による自動化だとDIVDは評価している。 - CISAは 2026-10-02、両CVEをKEVカタログに追加した。ランサムウェア利用は Unknown。Zammad側はバージョン解釈と開示の進め方でDIVDと見解が分かれる部分があるため、運用者は双方の告知を突き合わせて判断する必要がある。
この記事では、ベンダー・公的機関・研究者・報道で確認できた内容を「事実」、筆者の推測や意見を「考察」として分けて書いています。
何が起きたか(時系列)
| 時期 | 出来事 |
|---|---|
| (Zammad社)2026年8月 | CVE-2026-102489 に相当する報告を受領・分析。悪用は 6.5 以前のランタイムに限定と評価 |
| 2026-09-21 | 攻撃者がDIVDシステムへ初回アクセス(DIVD) |
| 2026-09-22 | DIVDが不審活動を検知。データセンターへのアクセス遮断、Merlon Securityとフォレンジック開始 |
| 2026-09-24 | DIVDがZammadへ脆弱性を報告。LinkedInで侵害を初公表(agentic AIの兆候) |
| 2026-09-26 | DIVDが限定開示と公開インスタンスのスキャン・所有者通知を開始(DIVD-2026-00015) |
| 2026-09-29〜30 | ケースファイル公開。入口がZammadの2ゼロデイであると公表。ボランティアデータの流出可能性を関係者へ通知 |
| 2026-10-01 | 流出データの概要を公開。Zammadコミュニティにベンダー声明(102489は7.x非該当、102490は詳細未受領→同日夜に受領) |
| 2026-10-02 | CISAが両CVEをKEVに追加。Due Date 2026-10-05、法医的トリアージ要 |
DIVDは、ネットワーク分割と検知後の遮断で深部への侵入は止めたが、侵入時点ですでに一部データが持ち出されたとしている。既知の脅威アクターとの紐付けは「なし」としつつ、最悪シナリオは排除していない。
技術的な問題点(根本原因)
事実(DIVD / CISA / Zammad)
- CVE-2026-102489: CISAは「Session Fixation Vulnerability」とし、
zammadユーザーとしてのリモートコード実行に至り得る、と要約。NCSC-NL等は未ログイン攻撃者による悪用が可能と報じている(DIVDのCVE記録ではCVSS解釈に報道差あり)。実装の詳細なパストラバーサル手順などは、公開ケースでは開示されていない。 - CVE-2026-102490: ローカルの
zammadアカウントから root への Improper Privilege Management。単独ではサーバー上の実行権限が先に必要。DIVDは「ほぼすべてのバージョン(最新alpha含む)」に存在すると記載。Zammadは詳細受領後も「リモート単独では悪用不可」と強調。 - 連鎖: DIVDは「セッションハイジャック → リモート実行 → root昇格」が agentic な自動化により秒単位で進んだと述べる。CISAも両CVEを相互にチェーン可能と明記。
考察
ヘルプデスクはインターネットに露出しやすく、かつチケット・顧客連絡先・SSO連携など「他システムへの橋」になりやすい。認証境界の欠陥がサービスユーザー実行まで届き、さらにサービスユーザー→rootの局所昇格が残っていると、境界製品ゼロデイと同様に「パッチ前の公開面」がそのまま全域侵害になる。agentic AIの新規性は「未知のゼロデイを人間が書いた」ことより、侵入後の意思決定と横展開をスクリプトが自己正当化メモ付きで高速に回した点にある、というDIVDの読み方は防御側にも示唆がある(ノイズの多いログでも「説明口調のコメント」が逆に痕跡になる)。
攻撃・侵入経路
flowchart TD
A[未認証またはセッション固定経路<br/>CVE-2026-102489] --> B[セッション乗っ取り]
B --> C[zammadユーザーとしてRCE]
C --> D[CVE-2026-102490<br/>ローカル権限昇格]
D --> E[root]
E --> F[他サービスへの到達<br/>データ持ち出し]
F --> G[観測: ボランティアメール等の流出<br/>なりすましリスク]
事実(DIVD)
- 入口はCitrix NetScalerではなかった(Statement #3)。
- root取得後、他サービスへ到達しデータを持ち出した痕跡がある。ネットワーク分割とIRによりそれ以上の深掘りは阻止。
- 攻撃は「うるさく乱雑」で、エージェントが次の一手を自分で決め、過剰な正当化コメントを残したため、逆解析が容易だった。
公開資料からは、セッション固定の具体的なHTTP手順やLPEのバイナリパスは確認できない。再現手順の捏造はしない。
なぜ防げなかったか・構造的要因の考察
ここからは筆者の考察である。
- サポート切れランタイムの露出: ベンダーは102489を「6.5以前・EoS」と位置づける。公開ヘルプデスクが古いメジャーのまま残ると、境界アプライアンスと同様にゼロデイの的になる。
- 調整開示のタイムライン摩擦: DIVDは9/24報告→9/26スキャン・開示。Zammadは「詳細未提示のままCVEと悪用議論が先行し、管理者が動けない」と批判。防御側から見ると、公表とパッチ/検証のズレそのものが二次被害(焦った誤対応・偽情報)を生む。
- ヘルプデスク=信頼のハブ: チケットシステム侵害は、その後の「正規っぽい」連絡・パスワードリセット誘導・サプライチェーン的なりすましに直結する(DIVDがボランティアなりすましを警告した理由)。
- agentic攻撃の運用面: 速度と乱雑さは検知しやすい一方、従来の「人間オペレータの休息」を前提にしたSOCのテンポを崩す。セグメンテーションが効いた事例としても読む価値がある。
運用者向けの具体的な対策と検知ポイント
対策
- Zammadを 7.2.0 以上へ更新する。6.xはサポート外として計画的に廃止する。
- インターネットからの管理・ユーザー面をVPNやIP制限の内側に置く。不要なら公開を止める。
- 更新前後でDIVDのログ確認スクリプトを走らせ、侵害の有無を確認する。疑わしければホスト再構築を前提にIRへ。
- チケット連携先(LDAP/SSO、メール、ファイル共有、クラウドAPIキー)の資格情報をローテーションする。
検知ポイント
zammad/pumaプロセスからのシェル起動、想定外の cron、sudo/setuid 関連の成功ログ(Sysdig等が同様の観点を整理)。- 身に覚えのない管理者セッション、短時間での特権操作の連続。
- 外部への大規模なメール・添付の持ち出し、未知IPからの管理面アクセス。
- (考察)「自動化エージェント」由来の奇妙なコマンドコメントや、人間なら省略する自己正当化テキストがスクリプトに残っていないか。