Grackle 在 GraphQL 查询处理中出现 StackOverflowError (CVE-2023-50730)

admin 2023-12-26 09:57:25 Ali_nvd 来源:ZONE.CI 全球网 0 阅读模式
中危 Grackle 在 GraphQL 查询处理中出现 StackOverflowError (CVE-2023-50730)

CVE编号

CVE-2023-50730

利用情况

暂无

补丁情况

官方补丁

披露时间

2023-12-23
漏洞描述
Grackle是一个用函数式Scala编写,并构建在Typelevel堆栈之上的GraphQL服务器。GraphQL规范要求GraphQL片段不能直接或间接形成循环。在Grackle 0.18.0版本之前,该要求没有被检查,具有循环片段的查询将会被接受进行类型检查和编译。尝试编译这样的片段将导致抛出JVM `StackOverflowError`。虽然构造这样的查询需要对应用的GraphQL模式有一定了解,但不需要了解任何特定的性能或其他行为特性。 Grackle使用cats-parse库解析GraphQL查询。在0.18.0版本之前,Grackle使用了cats-parse的`recursive`操作符。然而,`recursive`目前不具备堆栈安全性。在解析器中,`recursive`被用于嵌套选择集、嵌套输入值(列表和对象)以及嵌套的列表类型声明。因此,对于具有深层嵌套选择集、输入值或列表类型的查询可能被构造出来,利用此特性导致在解析过程中抛出JVM `StackOverflowException`。因为这发生在查询处理的非常早期,所以构造这样的查询不需要对应用的GraphQL模式有特定的了解。 小型查询导致堆栈溢出的可能性是一种潜在的拒绝服务漏洞。这可能影响所有使用Grackle的具有不受信任用户的应用程序。两个堆栈溢出问题已经在Grackle的v0.18.0版本中解决。作为解决方法,用户可以在不受信任的输入和Grackle查询处理之间插入一个清理层。
解决建议
"将组件 org.typelevel:grackle-core_2.13 升级至 0.18.0 及以上版本"
参考链接
https://github.com/typelevel/grackle/commit/56e244b91659cf385df590fc6c46695b6f36cbfd
https://github.com/typelevel/grackle/releases/tag/v0.18.0
https://github.com/typelevel/grackle/security/advisories/GHSA-g56x-7j6w-g8r8
阿里云评分 6.2
  • 攻击路径 本地
  • 攻击复杂度 复杂
  • 权限要求 普通权限
  • 影响范围 越权影响
  • EXP成熟度 未验证
  • 补丁情况 官方补丁
  • 数据保密性 无影响
  • 数据完整性 无影响
  • 服务器危害 无影响
  • 全网数量 N/A
CWE-ID 漏洞类型
CWE-400 未加控制的资源消耗(资源穷尽)
CWE-770 不加限制或调节的资源分配
- avd.aliyun.com
weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
N/A Ali_nvd

N/A

N/ACVE编号 CVE-2024-9120利用情况 暂无补丁情况 N/A披露时间 2024-09-23漏洞描述Use after free in Dawn
评论:0   参与:  0