CVE-2026-41935Vvveb在1.0.8.3之前的版本中存在一个未控制的递归漏洞,该漏洞位于管理员控制器的分发周期内。具体而言,Base::init()方法在处理错误处理程序时,会反复调用permission()方法,这种逻辑缺陷导致系统陷入无限递归循环,直到耗尽PHP的内存限制。攻击者可以利用低权限账户向被禁止访问的管理员URL发送持久化请求,迫使服务器上的所有工作进程耗尽PHP内存,从而导致系统无法响应合法流量的拒绝服务攻击。
该漏洞的技术原理涉及PHP应用程序的控制流与异常处理机制。在Vvveb框架中,当请求分发至管理员控制器且权限验证失败时,系统会触发错误处理流程。然而,由于代码逻辑错误,错误处理器内部再次调用了Base::init()进行初始化,而init()又再次触发权限检查permission()。这种自我引用的调用栈在无限制条件下会迅速消耗系统分配给PHP进程的内存资源。一旦达到memory_limit,PHP Fatal Error会被抛出,子进程退出。攻击者利用低权限账号发起的并发攻击能够瞬间耗尽Web服务器(如Apache或Nginx-FPM)的所有池化工作进程,导致服务完全不可用,且无需用户交互即可远程触发。