CVE-2025-13401CVE-2025-13401是WordPress Autoptimize插件中的一个存储型跨站脚本(XSS)漏洞。该漏洞存在于插件的LCP(Largest Contentful Paint)图片预加载功能中,由于对用户提供的图片属性缺乏足够的输入清理和输出转义,攻击者可以在页面中注入恶意JavaScript脚本。受影响版本为3.1.13及之前所有版本。攻击者需要拥有WordPress contributor级别或更高的用户权限即可利用此漏洞。成功利用后,恶意脚本会在任何访问包含注入代码页面的用户浏览器中执行,可能导致会话劫持、敏感信息窃取或其他恶意操作。由于是存储型XSS,恶意脚本会持久保存在数据库中,对所有访问该页面的用户造成持续威胁。
漏洞根源在于Autoptimize插件的create_img_preload_tag函数对用户输入的图片属性处理不当。该函数在处理LCP Image预加载元数据时,直接将用户提供的图片属性拼接到HTML输出中,未进行适当的输入验证和输出编码。攻击者通过LCP Image to preload metabox功能,提交包含恶意JavaScript代码的图片属性值,如在src、alt或其他属性中注入<script>标签或事件处理器(如onerror、onload等)。由于缺乏sanitization和escaping,这些恶意代码被直接存储到数据库中,并在页面加载时未经处理地输出到前端。攻击者只需拥有 contributor 权限即可创建或编辑包含XSS payload的内容,当管理员或其他用户访问该页面时,恶意脚本即在受害者浏览器上下文中执行,可窃取cookies、劫持会话或进行其他恶意操作。