CVE-2026-33491Zen C编程语言编译器0.4.4之前的版本存在栈缓冲区溢出漏洞。攻击者可通过提供包含超长结构体、函数或特征标识符的特制Zen C源文件(.zc),触发该漏洞。此漏洞可能导致编译器崩溃,或在编译过程中执行任意代码。
该漏洞的根源在于Zen C编译器在词法分析或语法分析阶段,处理用户定义的标识符(如struct名称、函数名或trait名)时,使用了不安全的内存拷贝操作,且未对输入长度进行严格校验。攻击者构造一个包含超长字符串的.zc文件,当受害者尝试编译该文件时,超长标识符会被拷贝到栈上的固定大小缓冲区中,导致栈溢出。由于攻击向量为AV:L且需要UI:R,攻击需要诱导用户本地执行编译操作。溢出数据可覆盖栈上的返回地址,从而劫持控制流,实现任意代码执行。