ScriptCase Vulnerabilities Let Attackers Execute Remote Code and Gain Server Access
2025/07/07 CyberSecurityNews — ScriptCase の Production Environment モジュールに存在する、2つの深刻な脆弱性を連鎖的に悪用する未認証の攻撃者は、サーバ上でリモート・コマンド実行の可能性を得るという。これらの脆弱性 CVE-2025-47227/ CVE-2025-47228 が影響を及ぼす範囲は、ScriptCase バージョン 9.12.006 (23) に含まれる Production Environment モジュールのバージョン 1.0.003-build-2 である。ただし、以前のバージョンも影響を受ける可能性があるという。

主なポイント
- ScriptCase Production Environment モジュールに存在する、2つの深刻な脆弱性により、サーバが完全に乗っ取られる可能性がある。
- これらの脆弱性を悪用してシステムを侵害する攻撃者は、ログイン認証情報を必要としない。
- パスワード・リセットのバイパスと、シェル・インジェクションの連携により、3つの簡単な手順で、システムへの完全なアクセスが可能となる。
- この脆弱性を悪用する攻撃者は、サーバの完全な制御とデータベースへのアクセスを取得できる。
ScriptCase は、GUI を介して PHP Web アプリケーションを生成する、人気のローコード・プラットフォームである。そこに含まれる Production Environment モジュールは、データベース接続およびディレクトリ管理のための管理コンソールとして機能し、通常は生成された Web サイトと共にデプロイされる。
この脆弱性は、SYNACTIV チームにより発見された。
認証バイパスの脆弱性:CVE-2025-47227
1つ目の脆弱性は、Production Environment のパスワード・リセット機能における、認証メカニズムの欠陥に起因する。この問題は nmPageProdLogin.class.php 内の changePass() 関数に存在し、カレントのパスワードを検証することなく、メール・アドレスと新しいパスワードのみを要求する。
この脆弱性の原因は、セッション変数 nm_session.prod_v8.login.is_page が、最初の AJAX リクエスト処理後に設定されるという、タイミングの問題にある。したがって、同一の PHPSESSID Cookie を用いる攻撃者は、2つの連続したリクエストを送信することで、この保護を回避できる。
この脆弱性の悪用には、以下の3ステップが必要となる:
login.phpへの GET リクエストにより、セッション変数を true に設定する。secureimage.phpへのリクエストにより、CAPTCHA チャレンジを取得する。nm_action=change_passを指定する POST リクエストを送信し、管理者パスワードをリセットする。
この POST リクエストには、email=attacker@example.org/pass_new=Synacktiv6/pass_conf=Synacktiv6 に加えて、解決済の CAPTCHA 値が取り込まれている。このプロセスにより、認証は完全にバイパスされ、Production Environment コンソールへの管理者アクセスが許可される。
シェル・インジェクションの脆弱性:CVE-2025-47228
2つ目の脆弱性は、データベース接続のための SSH コンフィグに存在する。nmPageAdminSysAllConectionsCreateWizard.class.php ファイルに含まれる GetListDatabaseNameMySql() 関数に存在する、シェル・インジェクションの脆弱性により、サニタイズされていないユーザ入力が SSH コマンドに連結される。
脆弱なコードは、以下の形式で SSH コマンドを構築する。ssh -fNg -L $localPort:$server:$port $sshUser@$sshHost
特に ssh_localportforwarding パラメータが悪用されやすく、; touch ghijkl ;# などの入力により、shell_exec() を介した任意のコマンド実行が可能になることが実証されている。
admin_sys_allconections_test.php にアクセスする攻撃者は、SSH 設定フォームから悪意のペイロードを送信することで、この脆弱性を悪用できる。この脆弱性の悪用により、Web サーバ権限 (通常は www-data) による、任意のシステム・コマンド実行が可能になる。
ーーーーー
研究者たちが開発したのは、2つの脆弱性を連携させ、OCR 技術で CAPTCHA を解決する、自動化された PoC エクスプロイト・スクリプトである。このスクリプトは、ScriptCase のデプロイメント・パスを自動検出し、攻撃を自動化するものである。
CVE の説明と影響の範囲
| CVEs | Description | Affected Products | CVSS 3.1 Score |
| CVE-2025-47227 | Administrator’s Password Reset (Authentication Bypass) | Production Environment module v1.0.003-build-2 (ScriptCase v9.12.006-23), likely previous versions | 7.5 (High) |
| CVE-2025-47228 | Shell Injection (Remote Command Execution) | Production Environment module v1.0.003-build-2 (ScriptCase v9.12.006-23), likely previous versions | 6.7 (Medium) |
この記事の執筆時点において、ScriptCase は CVE-2025-47227 (認証バイパス)/CVE-2025-47228 (シェル・インジェクション) に関する公式パッチを公開していない。
最も効果的で即時性のある保護策は、ネットワーク境界レベルにおいて、ScriptCase Production Environment 拡張機能へのアクセスを制限することである。
特にリモート・コマンド実行の脆弱性に関しては、以下のパスをブロック・リストに追加すべきである。
/prod/lib/php/devel/iface/admin_sys_allconections_test.php/prod/lib/php/devel/iface/admin_sys_allconections_create_wizard.php
これらの制限は、2つの攻撃ベクターを効果的に無効化し、個別にデプロイされた ScriptCase 開発環境の、機能を維持できるものである。
ScriptCase の Production Environment モジュールで発見された2つの脆弱性は、未認証の攻撃者であっても、管理者アクセスやコマンド実行が可能になるという深刻なものである。GUIツールであるScriptCaseは便利ですが、管理者コンソールが外部に公開されている場合は特に注意が必要だと、この記事は指摘しています。PoC も提供されていますので、ご利用のチームは、十分に ご注意ください。よろしければ、ScriptCase で検索も、ご参照ください。
You must be logged in to post a comment.