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 Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 7.5 | N/A | 7.5 |
| Attack Vector | Network | N/A | Network |
| Attack Complexity | Low | N/A | Low |
| Privileges Required | None | N/A | None |
| User Interaction | None | N/A | None |
| Scope | Unchanged | N/A | Unchanged |
| Confidentiality | High | N/A | High |
| Integrity Impact | None | N/A | None |
| Availability Impact | None | N/A | None |
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
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.