本文へ移動
English version →
重大 9.9 急ぎ度: 至急

Frappeでサーバー上のコード実行の脆弱性、修正版あり

業務システムの基盤フレームワークFrappeに、ログインできるユーザーがサーバー上でコードを実行できてしまう脆弱性が見つかりました。15系と16系の両方に修正版が出ているため、自社で運用している場合は版を確認して更新してください。

CVE-2026-119145 公開 生成 AI で作成
画像は生成 AI で作成したイメージです

急ぎ度: 至急

CVSS v3が9.9と最高水準で、低い権限のアカウントでもサーバー上のコード実行につながる一方、修正版がすでに公開されているためです。

関係があるか

Frappeを自社運用(オンプレミスや自前のクラウド環境)していて、社内外の複数のユーザーにアカウントを発行している組織が対象です。Frappe上で動くアプリケーションを使っている場合も、土台のFrappeが古ければ該当します。

製品影響を受ける版直った版
Frappe 15系 15.121.0より前 15.121.0
Frappe 16系 16.34.0より前 16.34.0

確かめ方

  1. 1bench環境があるサーバーで、bench version を実行してfrappeの版を確認します。
  2. 2複数のbenchやサイトを運用している場合は、すべてのbenchで同じ確認をします。
  3. 3ホスティング事業者やパートナー企業に運用を任せている場合は、使っているFrappeの版と更新予定を問い合わせます。

何が起きたか

Frappeのファイルアップロード処理に、ファイルを置く場所を十分に確認しないまま書き込んでしまう脆弱性が見つかりました。悪用されると、本来の保存先の外にファイルを置かれ、結果としてサーバー上でコードを実行されるおそれがあります。

原因は、アップロードされたファイルの保存先パスを検証せずにディスクへ書き込む処理です。パストラバーサル(CWE-22)に分類されます。

Frappe 15系は15.121.0、16系は16.34.0で修正されました。公開日は2026年10月29日で、GitHubのセキュリティアドバイザリとVulnCheckの告知が出ています。

攻撃の流れ

  1. 1

    ログイン

    低い権限でもよいので、Frappeのアカウントでログインします。

  2. 2

    細工ファイル送信

    保存先を意図しない場所に向けた情報を付けて、ファイルをアップロードします。

  3. 3

    検証なしで書込み

    サーバーが保存先を確認せず、本来の保存ディレクトリの外にファイルを書き込みます。

  4. 4

    コード実行

    書き込まれたファイルがきっかけとなり、サーバー上で攻撃者のコードが動きます。

公開されている情報をもとにした流れの例です。

どう悪用されるか

悪用にはFrappeへのログインが必要ですが、必要な権限は低いものでかまいません。ネットワーク経由で届く位置にいれば実行でき、管理者など他の利用者に操作させる必要はなく、特別な条件も要りません。

成功すると、Frappeが動くサーバー上で任意のコードを実行されるおそれがあります。保存データの閲覧と改ざん、サービス停止のいずれも起こりえます。影響がFrappeの範囲を超えて、同じサーバー上の別のシステムにも及ぶ可能性があります。

今すぐやること

  1. 1

    版を確認する

    運用中のすべてのbenchでfrappeの版を調べ、15系は15.121.0未満、16系は16.34.0未満に当たるかを洗い出します。

    bench version
  2. 2

    修正版に更新する

    15系は15.121.0以降、16系は16.34.0以降に更新します。更新前にデータベースとファイルをバックアップし、できれば検証環境で動作を確認してから本番に反映します。

  3. 3

    アカウントを棚卸しする

    使われていないアカウントや、外部の委託先に発行したアカウントを確認し、不要なものは無効にします。ログインさえできれば悪用できる脆弱性なので、更新までの間はとくに効果があります。

  4. 4

    不審な痕跡を調べる

    更新の前後で、アップロード機能へのアクセスログに不自然なものがないか、保存ディレクトリの外に見覚えのないファイルがないかを確認します。見つけたら、サーバー全体の侵害を疑って調査します。

すぐ更新できないとき

ベンダーの告知に、更新以外の回避策は示されていません。更新まで時間がかかる場合は、次のような被害を減らす手立てがあります。ただし脆弱性そのものはなくならないため、更新までのつなぎとして考えてください。

  • Frappeへのアクセスを、社内ネットワークやVPN経由などの信頼できる範囲に絞る
  • アカウントの棚卸しで、不要なアカウントと外部ユーザーを一時的に停止する
  • ファイルをアップロードできる権限を、業務上必要な人だけに限る

背景

Frappeは、Pythonで作られたWebアプリケーションのフレームワークです。会計・在庫・人事などを扱うERPのERPNextをはじめ、多くの業務アプリケーションがこの上で動きます。そのためFrappeの脆弱性は、受発注や従業員情報といった業務データを抱えるサーバーに直結します。

今回の脆弱性は、ファイルアップロードで保存先を検証しない、いわゆるパストラバーサルです。アップロード機能は利用者が自由にデータを送れる入口なので、保存先の確認が甘いと、ファイルを置くだけの問題がコード実行にまで広がります。Frappeでは、取引先や従業員にアカウントを配る使い方が多く、ログインできる人が多いほど影響を受けやすくなります。

よくある質問

Q.ERPNextを使っています。どの版に更新すればよいですか。
A.判断の基準はFrappe本体の版です。ERPNextの版とFrappeの版の対応は告知から読み取れないため、Frappeのセキュリティアドバイザリと、ERPNextを提供している側の案内で更新手順を確認してください。
Q.更新が済んだら、侵害の調査は不要ですか。
A.公開直後で悪用の報告がない状況でも、更新前の期間にアップロード機能へ不審なアクセスがなかったかは、ログで確認しておくと安心です。外部に公開していたサーバーや、外部ユーザーにアカウントを配っていた環境では、とくに調べる価値があります。

まだ分かっていないこと

  • 実際の攻撃で悪用されたかどうかは、公表されていません。概念実証コードの有無も分かっていません。
  • 15系と16系以外の版が影響を受けるかは、公表されていません。最新の対象範囲はGitHubのセキュリティアドバイザリで確認してください。

この記事は、取得元の公開情報をもとに生成 AI で作成しています。誤りを含むことがあります。対応を決める前に、下の原文と参照先を確認してください。

影響パッケージ

種類パッケージ影響を受ける版直った版
frappe frappe
15.121.0 未満
15.121.0
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。

Frappe before 15.121.0 and 16.x before 16.34.0 contains a path traversal vulnerability because certain file-upload handling does not validate the destination path before writing to disk. Authenticated attackers can upload crafted files to locations outside the intended storage directory to achieve remote code execution on the server.

出典: CVE.org (CVE Program・cvelistV5) NVD

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく