CVE-2025-14387CVE-2025-14387是WordPress最流行的学习管理系统(LMS)插件LearnPress中的一个高危安全漏洞。该漏洞为存储型跨站脚本攻击(XSS),存在于插件所有版本直至4.3.1版本。漏洞的根本原因在于插件对用户输入的数据缺乏充分的输入 sanitization(清理)和输出 escaping(转义)机制。攻击者只需拥有WordPress网站的Subscriber(订阅者)级别账户,即可利用此漏洞在页面中注入恶意JavaScript代码。由于是存储型XSS,恶意脚本会被永久保存在服务器数据库中,当其他用户访问包含恶意代码的页面时,攻击代码会在受害者浏览器中自动执行。这可能导致会话劫持、敏感信息窃取、钓鱼攻击传播或进一步的管理权限提升等严重后果。考虑到LearnPress被全球数百万个WordPress网站使用,该漏洞影响范围广泛,建议所有使用者立即采取修复措施。
LearnPress插件在处理用户提交的内容(如课程标题、课程描述、问题内容等)时,直接将用户输入存储到数据库而未进行充分的输入验证和清理。当这些数据被输出到网页时,插件同样未对特殊字符进行正确的HTML转义处理,导致攻击者可以注入任意HTML和JavaScript代码。攻击者利用Subscriber级别权限(WordPress最低权限级别之一),即可在课程创建或编辑过程中插入恶意脚本。由于该脚本被存储在数据库中,每次有用户访问相关课程页面时都会触发执行,形成持久的攻击向量。CVSS 3.1评分6.4(AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N)表明该漏洞可通过网络利用,复杂度低,需要低权限认证但无需用户交互,且对机密性和完整性有较低影响。修复方案已在GitHub commit 3bdaa63920c7d485e7efa7c92d3f19273a2916ff中提供,主要通过添加wp_kses函数进行输入清理和htmlspecialchars进行输出转义来修复。