CVE-2026-23622Easy!Appointments 1.5.2及更早版本存在严重的跨站请求伪造(CSRF)漏洞。该漏洞位于application/core/EA_Security.php的csrf_verify()函数中,该函数仅对POST请求执行CSRF验证,而对GET请求直接返回。攻击者可以利用此漏洞,通过诱导已登录的管理员访问恶意链接,强制浏览器发起伪造的GET请求,从而在管理员不知情的情况下执行敏感操作。漏洞影响范围包括创建新的管理员账户、修改现有管理员的邮箱和密码,最终可导致完整的应用程序管理权限被攻击者接管。由于该漏洞利用无需特殊技术门槛,且影响所有使用该版本的用户,因此被评定为高危漏洞。
Easy!Appointments的CSRF防护机制存在设计缺陷。正常情况下,CSRF防护通过在表单中嵌入随机token并在服务器端验证来实现。然而,EA_Security.php中的csrf_verify()函数实现如下逻辑:仅当请求方法为POST时才验证token,否则直接返回true放行。这导致以下安全后果:1) 多个执行状态变更操作的端点(如用户创建、密码修改等)接受来自GET请求或$_REQUEST的参数;2) 攻击者可以构造包含恶意参数的GET请求链接;3) 当已登录的管理员访问该链接时,浏览器自动携带Cookie发送请求,服务器因请求方法为GET而跳过CSRF验证,导致攻击成功。由于浏览器会为GET请求自动发送Cookie,攻击者只需诱导用户点击链接即可,无需窃取认证令牌。