FlawOpen

flawopen.com/Incidents/ahsaycbs-auth-bypass-command-injection-october-2026

● Ahsay · CVE-2026-105133 · 2026-10-07 · CVSS 10.0 · 緊急
セキュリティ研究 · FlawOpen

AhsayCBS:認証バイパスからコマンドインジェクションへ

2026年10月12日時点で、HuntressはAhsayCBS 10.3.4までが影響を受け、10月7日から攻撃を観測したと報告しています。Ahsayは現在、以前の10.3.4.0および9.15.2.59の修正では両方の欠陥に完全対応できなかったと説明し、v10のパートナーには10.3.4.45、v7~v9には9.15.2.70のホットフィックス適用と再起動を案内しています。パートナー限定のホットフィックス詳細は独立検証できていません。導入済みビルドを確認し、Ahsayの最新指示に従ってください。[1], [8], [3], [4]

💡 わかりやすい解説 (ELI5)

バックアップ管理室の本人確認をすり抜けた訪問者が、次に作業者へメモを渡す場面を想像してください。受信エンドポイントは攻撃者が制御する入力をOSコマンドの一部として扱ったため、メモがデータではなく命令として解釈される可能性がありました。このたとえはHuntressが報告した攻撃連鎖を表し、Ahsayの正確な実装は公開されていません。[1], [3], [4]

主要な概念と専門用語

CVE-2026-105133
AhsayCBSのcheckSysPwd関数で報告された中程度の認証不備です。Huntressは、観測した攻撃チェーンの最初の段階と説明しています。[3], [1]
CVE-2026-105134
/rps/api/json/UpdateReceivers.doのReplication Receiver APIで報告された重大なOSコマンドインジェクションです。CVSSは10.0で、Huntressによると認証バイパス後のコード実行に使われました。この10.0は本CVEのみのスコアです。[4], [1]
2026年10月12日時点の修正状況
CVEレコードは当初10.3.4を修正済みとしていましたが、Huntressは後に10.3.4まで影響を受けると確認しました。Ahsayの10月10日および12日の告知は10月9日の説明を更新し、以前の10.3.4.0と9.15.2.59では両方の欠陥に完全対応できなかったとしています。Ahsayはv10のパートナーに10.3.4.45、v7~v9には9.15.2.70を適用し、再起動するよう案内しています。これはベンダーの指示です。パートナー限定ホットフィックスの内容と有効性は独立検証していません。[1], [8], [3], [4]

フレームワーク対応

  • このガイドで説明する弱点の CWE 参照: CWE-78 CWE-287

バージョン状況と防御対応

根拠の情報源情報源の記載運用上の判断
CVEレコード(10月4日)当初、両方のCVEについて10.3.4を修正済みとしていました。この記載は見解が分かれているものとして扱い、対応を完了する前にAhsayへ直接修正状況を確認します。
Huntress(10月8日)悪用を報告し、10.3.4までのバージョンも影響を受けるとしています。10.3.4までのシステムを影響の可能性ありとして扱い、管理アクセスを制限して調査します。
Ahsay v10.3.4リリースノート(8月5日)どちらのCVEも、各脆弱性のセキュリティ修正も記載していません。リリースノートだけから、10.3.4でこれらのCVEが修正されたと判断しないでください。
Ahsay v10.3.2リリースノート(7月20日)一般的な「Ahsay Security Patchset - 2026/Q3」は記載されていますが、これらのCVEや修正済みバージョンは特定されていません。一般的なパッチセット名だけで、これらのCVEが修正済みとは判断しないでください。その後、Huntressはv10.3.4も影響を受けると報告しました。
バージョンを問わず侵害の疑いがある場合バージョン番号は、過去の悪用や永続化を否定する根拠になりません。ホストを調査し、証拠を保全し、バックアップの完全性を評価して、信頼できる復旧手順を使用します。
Ahsayの告知(10月10日・12日)以前の10.3.4.0と9.15.2.59では両方の欠陥に完全対応できませんでした。Ahsayはv10に10.3.4.45、v7~v9に9.15.2.70を適用し、再起動するよう案内しています。バージョンに応じたベンダー指示に従い、再起動後、パートナーチャネルで導入済みビルドを確認してください。ホットフィックス自体は独立調査していません。

インシデントのタイムライン

2026-10-04

AhsayCBSの2つの脆弱性についてCVE記録が公開され、当初は10.3.4が修正版と記載されました。[3], [4]

2026-10-07 23:20:15 UTC

Huntressが公開状態のシステムに対する脆弱性悪用を観測し始めました。[1]

2026-10-08

Huntressは5組織が標的になったと報告し、以前の評価を訂正しました。10.3.4も影響を受けるとの判断です。[1]

2026-10-09

10月9日の公開時点では、ベンダーが修正済みと確認したバージョンは特定されていませんでした。[5]

2026-10-10

Ahsayはv10.3.4.0では両方の欠陥に完全対応できなかったと発表し、v10のパートナーに10.3.4.45を案内しました。[8]

2026-10-12

Ahsayは案内を更新し、v10には10.3.4.45、v7~v9には9.15.2.70を適用し、その後再起動するよう指示しました。[8]

ステップ・バイ・ステップの攻撃フロー

ステップ 1

公開された管理画面に到達する

Huntressによると、観測された活動はインターネットから到達可能なAhsayCBSのWeb管理画面を標的にしました。この製品はMSPやシステムインテグレーターが利用します。[1]

ステップ 2

認証境界を回避する

Huntressは最初の段階をCVE-2026-105133とApiStructsAction.javaのcheckSysPwdに関連付けています。これは対応チームの説明です。確認した資料にはベンダーの脆弱なソースコードはありません。[1], [3]

ステップ 3

Replication Receiverの不備からコード実行に至る

HuntressはCVE-2026-105134を/rps/api/json/UpdateReceivers.doのコマンドインジェクションと関連付けています。報告では、攻撃者がreceiverを設定し、アプリが配信するディレクトリにJSP webshellを置きました。リクエスト構文やpayloadは掲載しません。[1], [4]

ステップ 4

ホスト侵害の可能性を前提に対応する

影響事例では、Huntressはサービスの子プロセス、webshell、偽装されたマイニングソフト、永続化を確認しました。管理画面へのアクセスを制限してホストとバックアップを調査し、侵害を確認した場合は信頼できる手順で再構築します。[1], [6]

ソースコード比較:脆弱 vs 堅牢化

安全な例では、実行ファイルを固定し、明示的な許可リストとProcessBuilderの個別引数を使います。シェルを起動せず、ユーザー入力をコマンド文字列へ連結しません。これはOSコマンドの解釈境界を閉じる一般的な防御パターンであり、Ahsayのソースコードやパッチではありません。確認した公開資料には、ベンダーの実装や修正内容は示されていません。[1], [3], [4]

脆弱な実装
// 一般的なアンチパターンの例であり、Ahsay のソースコードではありません。
void updateReceiver(Request request) {
    String receiver = request.parameter("receiver");
    String command = commandBuilder.forReceiverUpdate(receiver);
    operatingSystem.execute(command); // unsafe command-string boundary
}
堅牢化されたセキュアパッチ
// 一般的な防御設計の例であり、Ahsay のパッチではありません。
private static final Set<String> ALLOWED_RECEIVERS = Set.of("primary", "archive");

void updateReceiver(Principal principal, ReceiverInput input) throws IOException {
    authorization.require(principal, Permission.MANAGE_RECEIVERS);
    String receiver = input.receiverId();
    if (!ALLOWED_RECEIVERS.contains(receiver)) {
        throw new IllegalArgumentException("Unsupported receiver");
    }
    new ProcessBuilder("/usr/local/bin/replication-tool", "update", "--receiver", receiver)
        .start(); // fixed executable; separate arguments; no shell
}

エンジニアリング&システム堅牢化チェックリスト

参考資料