form-data boundary randomness vulnerability
漏洞信息
漏洞名称: form-data boundary randomness vulnerability
漏洞编号:
- CVE: CVE-2025-7783
漏洞类型: 其他
漏洞等级: 高危
漏洞描述: 该漏洞涉及一个名为’form-data boundary randomness’的安全问题,主要影响通过npm安装的特定服务器应用。受影响的产品包括使用类似技术栈的web应用,这些应用通常部署在企业级服务或作为常见的web应用组件。漏洞的根源在于服务器在处理表单数据时,边界随机性不足,导致攻击者可以预测或操纵请求,从而绕过预期的安全限制。具体来说,攻击者可以利用此漏洞在未经授权的情况下,向服务器发送恶意构造的请求,例如在请求中添加未授权的参数(如is_admin: true),从而可能获得提升的权限或其他未授权的操作能力。这种漏洞的存在可能导致严重的安全风险,包括但不限于权限提升、数据泄露和服务中断。攻击者可以利用此漏洞进行远程攻击,且在某些情况下,攻击可以自动化执行,无需用户交互。
来源: https://github.com/benweissmann/CVE-2025-7783-poc
类型: CVE-2025:github search
仓库文件
- .gitignore
- .tool-versions
- README.md
- backend.js
- exploit.js
- package-lock.json
- package.json
- predict.py
- requirements.txt
- vulnerable-server.js
来源概述
form-data boundary randomness vulnerability
Largely based on https://hackerone.com/reports/2913312 by https://hackerone.com/parrot409?type=user
Installing:
npm install
- Make sure you have
python3
installed with thez3
module (pip3 install -r requirements.txt
) – the exploit code shells out topython3
to predict the next random value
Running:
In parallel, run:
npm run start-backend
(the backend server that will receive the manipulated request)npm run start-vulnerable-server
(the frontend server that can be tricked into sending a manipulated request)npm run exploit
(the client code that crafts and sends the exploit)
In the stdout of npm run backend
, you should see a request with is_admin: true
(despite the code in vulnerable-server.js
never intending to add an is_admin parameter to the API call)