Absinthe-graphqlのAbsintheにおけるアルゴリズムの複雑さに関する脆弱性
タイトル Absinthe-graphqlのAbsintheにおけるアルゴリズムの複雑さに関する脆弱性
概要

absinthe-graphqlのabsintheにおける非効率なアルゴリズム複雑度の脆弱性により、認証なしで二次的なフラグメント名の一意性検証を通じてサービス拒否が可能です。'Elixir.Absinthe.Phase.Document.Validation.UniqueFragmentNames':run/2はすべてのフラグメントを走査し、各フラグメントに対してduplicate?/2を呼び出します。この関数はEnum.count(fragments, &(&1.name == name))を評価してフラグメントリストを線形走査します。その結果、文書あたりO(N^2)の比較が発生します。ここでNは呼び出し元が提供したフラグメント定義の数を表します。input.fragmentsはGraphQLクエリ本文から直接構築されるため、Nは攻撃者が完全に制御可能です。最小サイズのフラグメント定義は約16バイトであり、約1MBの文書には約60,000のフラグメントが含まれています。この単一の検証フェーズで約36億回の比較が強制されます。認証、スキーマ知識、または特別な設定は不要です。この問題はabsintheの1.2.0から1.10.2未満のバージョンに影響します。

想定される影響 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

公表日 2026年5月8日0:00
登録日 2026年5月28日14:32
最終更新日 2026年5月28日14:32
CVSS3.0 : 重要
スコア 7.5
ベクター CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
影響を受けるシステム
Absinthe-graphql
Absinthe 1.2.0 より大きい 1.10.2 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
変更履歴
No 変更内容 変更日
1 [2026年05月28日]
  掲載
2026年5月28日14:32

NVD脆弱性情報
CVE-2026-43967
概要

Inefficient Algorithmic Complexity vulnerability in absinthe-graphql absinthe allows unauthenticated denial of service via quadratic fragment-name uniqueness validation.

'Elixir.Absinthe.Phase.Document.Validation.UniqueFragmentNames':run/2 iterates over all fragments and for each one calls duplicate?/2, which evaluates Enum.count(fragments, &(&1.name == name)) — a full linear scan of the fragment list. The result is O(N²) comparisons per document, where N is the number of fragment definitions supplied by the caller.

Because input.fragments is built directly from the GraphQL query body, N is fully attacker-controlled. A minimum-size fragment definition is roughly 16 bytes, so a ~1 MB document carries ~60,000 fragments and forces ~3.6 × 10⁹ comparisons inside this single validation phase. No authentication, schema knowledge, or special configuration is required.

This issue affects absinthe: from 1.2.0 before 1.10.2.

公表日 2026年5月9日1:16
登録日 2026年5月9日4:15
最終更新日 2026年5月14日0:57
関連情報、対策とツール
共通脆弱性一覧