Description
Incorrect Authorization vulnerability in ash-project ash_graphql delivers GraphQL subscription payloads for records a subscriber is not authorized to see.

In AshGraphql.Subscription.Batcher, do_send/5 resolves the first notification of a batch and filters it with should_send?/1, which drops results whose errors are coded forbidden or not_found or carry no code, precisely so that unauthorized results are not disclosed. The remaining notifications in the batch are read from the process dictionary, re-run through the pipeline, and appended to the outgoing results without that filter. They reach pubsub.publish_subscription/2, and the not is_nil(record) guard drops only nil records, not error-carrying results. Any two qualifying notifications arriving within the default one-second batch interval suffice, and batching is the default path. The fix applies should_send?/1 to the whole batch.

This issue affects ash_graphql: from 1.4.0 before 1.11.0.
Published: 2026-08-30
Score: 2.3 Low
EPSS: < 1% Very Low
KEV: No
Impact: Authorization Bypass
Action: Update
AI Analysis

Impact

AshGraphql Subscription.Batcher fails to enforce authorization checks on all notifications in a batch, allowing an attacker who can subscribe to expose data they are not authorized to see. The first notification in each batch is correctly filtered, but any subsequent notifications bypass the filter and are returned to the client, potentially leaking sensitive information.

Affected Systems

The vulnerability affects the AshGraphql component of the ash-project community server. Versions from 1.4.0 up through but excluding 1.11.0 are impacted; upgrading to 1.11.0 or later removes the flaw.

Risk and Exploitability

The CVSS score of 2.3 indicates low severity. No EPSS data is available, and the issue is not listed in the CISA KEV catalog, suggesting a low probability of widespread exploitation. However, the vulnerability requires that two qualifying notifications be added to a batch within the default one‑second interval, which is likely to occur in normal operation for subscribed users. Attackers who can authenticate or hijack a subscription channel may retrieve unauthorized records, but the impact is limited to data disclosure rather than privilege escalation or code execution.

Generated by OpenCVE AI on August 30, 2026 at 19:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade ash_graphql to version 1.11.0 or later to apply the proper authorization filter to all batch notifications.
  • If an immediate upgrade is not possible, restrict or disable the subscription publishing for sensitive data until the patch is applied.
  • Monitor subscription traffic for unauthorized data patterns and enforce the latest access controls implemented in the patched version.

Generated by OpenCVE AI on August 30, 2026 at 19:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 31 Aug 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sun, 30 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
Description Incorrect Authorization vulnerability in ash-project ash_graphql delivers GraphQL subscription payloads for records a subscriber is not authorized to see. In AshGraphql.Subscription.Batcher, do_send/5 resolves the first notification of a batch and filters it with should_send?/1, which drops results whose errors are coded forbidden or not_found or carry no code, precisely so that unauthorized results are not disclosed. The remaining notifications in the batch are read from the process dictionary, re-run through the pipeline, and appended to the outgoing results without that filter. They reach pubsub.publish_subscription/2, and the not is_nil(record) guard drops only nil records, not error-carrying results. Any two qualifying notifications arriving within the default one-second batch interval suffice, and batching is the default path. The fix applies should_send?/1 to the whole batch. This issue affects ash_graphql: from 1.4.0 before 1.11.0.
Title Broken access control in AshGraphql subscription batcher applies authorization suppression to only the first notification
First Time appeared Ash-project
Ash-project ash Graphql
Weaknesses CWE-863
CPEs cpe:2.3:a:ash-project:ash_graphql:*:*:*:*:*:*:*:*
Vendors & Products Ash-project
Ash-project ash Graphql
References
Metrics cvssV4_0

{'score': 2.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Ash-project Ash Graphql
cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-08-31T15:01:05.884Z

Reserved: 2026-08-30T04:45:01.564Z

Link: CVE-2026-81643

cve-icon Vulnrichment

Updated: 2026-08-31T15:00:59.386Z

cve-icon NVD

Status : Deferred

Published: 2026-08-30T19:17:29.707

Modified: 2026-09-01T21:15:00.147

Link: CVE-2026-81643

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T21:22:36Z

Weaknesses