CVE-2026-43937YetAnotherForum.NET (YAF.NET) 在4.0.5版本之前存在安全漏洞。由于管理员处理器的执行时序问题,低权限用户可在未授权的情况下调用 /Admin/RunSql 接口。该接口将用户输入直接传递给数据库执行,导致任意SQL注入,攻击者可借此窃取或篡改数据。
该漏洞的核心在于ASP.NET Core中过滤器与处理器执行顺序的利用。在YAF.NET受影响版本中,管理员控制器(如AdminController)的OnPost方法在执行业务逻辑时,ResultFilterAttribute 尚未介入进行权限校验和响应重写。具体而言,/Admin/RunSql 的 OnPostRunQuery 方法直接从POST请求体中获取 Editor 字段内容,并无任何清洗或权限检查地将其传递给 IDbAccess.RunSql 方法执行。攻击者只需拥有一个普通低权限账号,即可构造恶意POST请求,利用这一“时间差”在后台重定向响应发出前执行任意SQL语句,实现数据库层面的完全控制。