CVE-2025-68156Expr是Go语言的表达式语言库,在1.17.7之前的版本中存在栈溢出漏洞。多个内置函数(flatten、min、max、mean、median)在处理用户提供的深度嵌套或循环数据结构时,没有限制递归深度,可能导致无限递归,最终超出Go运行时栈限制而崩溃。攻击者可通过构造恶意输入触发此漏洞,造成应用程序拒绝服务。
漏洞源于内置函数对用户数据的递归遍历缺乏深度控制。当遇到循环引用或过深嵌套的数据结构时,递归调用链不断增长,最终导致栈空间耗尽。修复方案在v1.17.7版本中引入最大递归深度限制机制。