CVE-2026-1036CVE-2026-1036是WordPress平台上一款广受欢迎的图片画廊插件Photo Gallery by 10Web的安全漏洞。该插件为WordPress网站提供移动友好的图片画廊功能,支持创建和管理美观的图片展示界面,在WordPress插件市场中拥有大量安装用户。
该漏洞的根本原因在于插件的delete_comment()函数缺少适当的权限验证机制。在正常的Web应用程序设计中,删除操作应当验证当前用户是否具有执行该操作的权限,例如检查用户是否登录、用户角色是否具有删除权限、以及用户是否有权删除特定资源。然而,该插件的开发者在实现delete_comment()函数时疏忽了这一关键的安全检查步骤。
具体而言,delete_comment()函数没有对调用者进行身份验证和权限确认,这意味着任何访问该函数的请求都会被直接执行,而不论请求者是否具有合法的身份或权限。这一设计缺陷使得攻击者可以在不登录、不具备任何权限的情况下,构造恶意请求来删除网站上的任意图片评论。
值得注意的是,该插件的评论功能仅在Pro版本中提供,因此此漏洞仅影响使用Photo Gallery Pro版本且开启了评论功能的WordPress网站。对于仅使用免费版本或未启用评论功能的网站,此漏洞不构成直接威胁。攻击者可利用此漏洞批量删除网站的用户评论,可能导致网站内容丢失、用户体验下降,严重时可能影响网站的正常运营和用户信任度。
从代码层面分析,该漏洞位于插件前端控制器文件BWGControllerGalleryBox.php的第173行附近。delete_comment()函数在实现时直接接收用户提交的参数(如评论ID),并执行数据库删除操作,而没有调用WordPress的current_user_can()函数或其他权限检查机制来验证请求者是否具有管理评论的权限。
攻击者可以利用以下技术细节进行漏洞利用:首先,需要识别目标WordPress网站是否安装并启用了存在漏洞的Photo Gallery插件版本;其次,通过分析插件的AJAX处理机制或直接访问相关端点,定位到delete_comment()函数的调用路径;最后,构造包含目标评论ID的HTTP请求,由于函数缺少CSRF令牌验证和权限检查,请求将直接被服务器执行。
从CVSS向量分析来看,该漏洞的攻击复杂度低(AC:L),无需认证(PR:N),无需用户交互(UI:N),但其影响范围仅限于数据的完整性(I:L),机密性(C:L)和可用性(A:N)影响均为低或无。这表明攻击虽然容易实施,但造成的影响相对有限,主要是数据破坏而非系统完全沦陷。
防御此类漏洞的关键是在所有涉及数据修改的操作中添加适当的权限检查。对于WordPress插件而言,应当使用current_user_can()函数验证用户权限,并在处理AJAX请求时同时验证nonce令牌以防止CSRF攻击。此外,建议使用WordPress提供的评论管理API而非直接操作数据库,以提高安全性和兼容性。