Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-107728— Strawberry GraphQL: Synchronous permission checks can treat an awaitable authorization result as truthy

Quick assessment

Affected
strawberry-graphql strawberry
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Strawberry GraphQL 是一个用于构建 GraphQL API 的库。在版本 0.217.0 至 0.326.1 之间, 方法在处理同步字段解析器(synchronous field resolver)时,会通过真值判断(truthiness)来评估 方法的返回值。 当自定义权限将 定义为普通函数(非异步函数),但其返回值是一个可等待对象(awaitable,例如协程)时,由于 机制无法将其识别为异步操作,该可等待对象不会被正确 await(等待执行)。因此,该对象本身具有内在的真值(inherent

CVSS 7.5 · High

Possible ATT&CK Techniques 1 AI

T1190 · Exploit Public-Facing Application
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-107728

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Strawberry GraphQL: Synchronous permission checks can treat an awaitable authorization result as truthy
Source: CVE Program / CVE List V5
Vulnerability Description
Strawberry GraphQL is a library for creating GraphQL APIs. From 0.217.0 until 0.326.1, PermissionExtension.resolve() on a synchronous field resolver evaluates the result of has_permission() for truthiness. When a custom permission declares has_permission() as a normal function but returns an awaitable, supports_sync does not classify it as asynchronous, the awaitable is not awaited, and its inherently truthy object value permits the protected resolver to run even when the result would resolve to false. This affects synchronous field resolvers under both execute_sync() and execute(); permissions declared with async def has_permission() and synchronous permissions returning a boolean are not affected. This issue is fixed in version 0.326.1.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Source: CVE Program / CVE List V5
Vulnerability Type
授权机制不正确
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
strawberry-graphql strawberry >= 0.217.0, < 0.326.1 -

II. Public POCs for CVE-2026-107728

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-107728

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-107728 (1)

Vendor Advisories for CVE-2026-107728 (1)

Vendor Pages for CVE-2026-107728 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-107728

No comments yet


Leave a comment