CVE-2026-93477 in ash情報

要約

〜によって VulDB • 2026年09月25日

Dynamicallyに決定されるオブジェクト属性の不適切な制御による修正脆弱性がash-project/ashに存在し、ユーザーがbulk destroyおよびbulk updateパスにおいてprivate action argumentの値を設定できる。

public?: falseで宣言されたaction argumentsは、信頼されたサーバーサイドコード(例:Ash.Changeset.set_private_argument/3経由)のみによって設定されるべきであり、エンドユーザの入力から設定可能であってはならない。CVE-2026-55736は、非bulkのchangesetパスにおいて、ユーザー提供のパラメータマップからprivate argumentsを除去することで修正されたが、bulk destroyおよびbulk updateパスはカバーされていなかった。

Ash.Actions.Destroy.Bulk.base_changeset/5 および Ash.Actions.Update.Bulk.base_changeset/5 は、呼び出し元が渡したパラメータマップ内のすべてのキーを、アクションの全引数と照合する際に public? チェックを行わず、一致したものだけをbase changesetに適用する。したがって、bulk destroyまたはbulk update action(例:AshJsonApi、AshGraphql、あるいはリクエストパラメータを Ash.bulk_destroy/4 や Ash.bulk_update/4 に転送するコントローラなどを通じて)にパラメータを送信できる呼び出し元は、アクションのchangesやvalidations内の arg(...) テンプレートで参照されるものを含む、そのアクションの任意のprivate argumentを設定できる。アプリケーションが引数を使用する方法(例:認可またはレコード所有権を制御する acting_user_id、監査用メタデータなど)によっては、整合性の違反特権昇格につながる可能性がある。

修正には、両方のbulkパスにおける引数の照合に public? を含める必要があり、private argumentsは :private_arguments オプションを通じてサーバーサイドで引き続き設定可能である。

本問題は ash: 2.17.15 より前から 3.33.11 より前のバージョンに影響する。

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

責任者

EEF

予約する

2026年09月19日

モデレーション

承諾済み

エントリ

VDB-409859

EPSS

0.00000

アクティビティ

非常低い

ソース

Do you need the next level of professionalism?

Upgrade your account now!