
Frappe Framework v15.72.4 に、frappe.client.get_value APIエンドポイントの fieldname パラメータを介した SQLインジェクションの脆弱性が発見されました。
📌 概要
Frappe Framework v15.72.4 の frappe.client.get_value API エンドポイント(ERPNext v15.67.0 コードベースにも存在)に、時間ベースのブラインド SQL インジェクションの脆弱性が発見されました。レポート / クライアント API にアクセスできる認証済みユーザーは、fieldname パラメータを介して SQL を注入できます。fieldname パラメータに時間遅延関数(例: sleep(15))を挿入することで、攻撃者は応答遅延の測定により注入を確認できます。これにより、サービス運用妨害(DoS)、情報漏えい(ブラインド手法による)、およびデータ改ざんが可能になります。
脆弱性タイプ: SQL インジェクション(時間ベースのブラインド)(CWE‑89)
影響を受ける製品: Frappe Framework / ERPNext
影響を受けるバージョン(報告時点):
影響を受けるコンポーネント: frappe.client.get_value API メソッド(frappe/client.py)
脆弱なエンドポイント:
/api/method/frappe.client.get_value
脆弱性のあるクエリの例:
/api/method/frappe.client.get_value?doctype=Report&fieldname=ref_doctype+%2F+sleep(15)+&filters=Profit+and+Loss+Statement&_=1752174156893
脆弱なパラメータ: fieldname(不適切にサニタイズされず SQL に連結される)
攻撃タイプ: リモート(認証とレポート API へのアクセスが必要)
深刻度: 高(時間ベースのブラインド SQLi により、データの外部漏えい、DoS、および改ざんが可能)
推定 CVSS v3.1 スコア: 8.0(高) — 認証が必要なリモート SQL インジェクションによりデータ開示と DoS が可能となることに基づく推定値。正式なスコアは採番機関が実施する必要があります。
ステータス: 未修正(報告時点)
発見者: Mohammed Aloli(GitHub: https://github.com/MoAlali)
発見日: 報告書では指定なし
CVE ID: CVE-2025-56380
認可された環境 / ラボ環境でのみテストしてください。所有していない、または明示的なテスト許可を得ていないシステムに対して実行しないでください。
PoC リクエスト(例):

GET /api/method/frappe.client.get_value?doctype=Report&fieldname=ref_doctype+%2F+sleep(15)+&filters=Profit+and+Loss+Statement&_=1752174156893
確認手順
+%2F+sleep(15)+& ペイロードを削除して応答が即座に返ることを観察し、注入が時間遅延を引き起こすことを確認します。注記: バックエンドの DBMS に応じて、sleep(15) を他の時間関数や時間値(例: PostgreSQL の pg_sleep(n))に置き換えてください。PoC はタイミングによるブラインド注入を示しています。より複雑なペイロードを使用してデータをビット単位で抽出することも可能です。
攻撃ベクトル: 認証済みユーザーが、悪意のある fieldname パラメータ(SQL ペイロード(時間遅延関数)を含む)を指定して /api/method/frappe.client.get_value に GET リクエストを作成します。
影響:
fieldname およびすべてのユーザー指定入力を SQL に直接連結しないでください。パラメータを適切にバインドするパラメータ化クエリまたは ORM API を使用してください。sleep、pg_sleep、benchmark、/、;)を監視してください。frappe.client.get_value と fieldname/フィルタを処理するコードパスを監査し、安全でない連結を安全な API に置き換え、セキュリティパッチをリリースする必要があります。運用者は更新を迅速に適用してください。https://github.com/MoAlali — X: https://x.com/alaliksa_ — LinkedIn: https://www.linkedin.com/in/mohammedaloli/https://github.com/frappe/frappe 、 https://github.com/frappe/erpnexthttps://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.htmlMohammed Aloli によって発見されました。
この情報は、防御および是正目的でのみ提供されています。所有していない、またはテストする明示的な許可を得ていないシステムに対して、この脆弱性を悪用しようとしないでください。運用者はパッチ適用を優先し、安全なコーディング修正を適用し、上記の緩和策に従ってください。