漏洞关键信息 标题: ChaiScript develop branch Uncontrolled Recursion 描述: 在ChaiScript中发现了一个栈溢出漏洞。当用户定义的操作符在字符串插值块中递归调用自身时,会触发崩溃。引擎无法检测到无限递归,导致栈耗尽和硬崩溃(SEGV)。 环境: - 操作系统: Linux x86_64 - 编译器: Clang - 构建配置: 发布模式,启用ASan 漏洞细节: - 目标: ChaiScript - 漏洞类型: CWE-674: Uncontrolled Recursion (Stack Overflow) - 函数: / - 位置: (深度递归在评估循环中) - 根本原因分析: PoC定义了一个递归操作符 代码示例: 当 被执行时,它会调用自定义的操作符。在函数体内立即调用相同的操作符,这在 调用中创建了一个无限链。ChaiScript 似乎没有足够的保护来防止这种特定的递归模式导致的栈耗尽,从而导致崩溃。