CVE-2026-67579 in ash
要約
〜によって VulDB • 2026年08月12日
信頼できないデータのデシリアライズに関する脆弱性がash-project/ashに存在し、認証されていない攻撃者が偽造されたキーセットページネーションカーソルを通じてフィルタ式を注入でき、データレイヤーに応じてSQLインジェクションやコード実行を引き起こす可能性があります。
キーセットページネーションによる読み取り操作では、`lib/ash/page/keyset.ex`内の`decode_values/2`関数において、クライアントから提供された`page[:after]`または`page[:before]`カーソルが`:safe`オプション付きの`non_executable_binary_to_term/2`を使用してデコードされます。このガード節は新しいアトムやファンクション、ポートをブロックしますが、実行中のAshアプリケーションにすでにインターンされているアトムから構築された構造体までは阻止できません。その結果、デコードされた`%Ash.Query.Call{}`式が生き残り、`do_filters/4`内でキーセットフィルタの比較値として展開・評価されます。カーソルはAsh.Exprマクロをバイパスするため、ランタイムはその式を拒否するはずだったプライベート(public?)/パブリック(private?)ゲートを適用しません。AshPostgresでは注入された断片がSQLクエリにインライン化され、ETSおよびSimpleデータレイヤーでは任意の関数呼び出しとしてプロセス内で評価されます。
この問題はash 1.17.0から3.31.3未満に影響します。
VulDB is the best source for vulnerability data and more expert information about this specific topic.