CVE-2026-107728

Description

A flaw was found in strawberry-graphql. When evaluating permissions on synchronous field resolvers, the library fails to properly await asynchronous permission check results and treats the resulting objects as inherently valid. A remote attacker can exploit this flaw to bypass authorization checks on protected GraphQL fields, resulting in unauthorized information disclosure.

Statement

An IMPORTANT severity (CVSS 7.5, CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N) flaw was found in the strawberry-GraphQL Python library, which is bundled in the Red Hat Exploit Intelligence vulnerability-analysis container image. When evaluating permissions on synchronous field resolvers, PermissionExtension.resolve() checks the return value of has_permission() for truthiness without awaiting it. When a custom permission class declares has_permission() as a normal function that returns an awaitable, the library does not treat the check as asynchronous, the awaitable is never awaited, and its inherently truthy value allows the protected resolver to run even when the permission result would resolve to false. A remote attacker who can send queries to an application using this specific permission pattern can therefore bypass authorization checks on protected GraphQL fields and access data they are not authorized to see, resulting in information disclosure. Permission classes that declare has_permission() with async def, or that return a plain boolean, are evaluated correctly and are not affected. The Red Hat severity rating matches the upstream assessment. The affected Red Hat Exploit Intelligence component is tracked with a delegated resolution, and a fix is being pursued for the affected offering.

Mitigation

Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.

Common Vulnerability Scoring System (CVSS) Score Details

Info alert:Important note

CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).

The following CVSS metrics and score provided are preliminary and subject to review.

CVSS v3 Score Breakdown

Red HatNVDcve.org
Base Score7.5N/A7.5
Attack VectorNetworkN/ANetwork
Attack ComplexityLowN/ALow
Privileges RequiredNoneN/ANone
User InteractionNoneN/ANone
ScopeUnchangedN/AUnchanged
ConfidentialityHighN/AHigh
Integrity ImpactNoneN/ANone
Availability ImpactNoneN/ANone

Vector

Red Hat: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

cve.org: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Understanding the Weakness (CWE)

Availability,Integrity

Technical Impact: Unexpected State; DoS: Crash, Exit, or Restart

An unexpected return value could place the system in a state that could lead to a crash or other unintended behaviors.

Frequently Asked Questions

Want to get errata notifications? Sign up here.