IPBUF安全漏洞报告
English
CVE-2026-44262 CVSS 9.4 严重

CVE-2026-44262 Scramble 远程代码执行漏洞

披露日期: 2026-05-12

漏洞信息

漏洞编号
CVE-2026-44262
漏洞类型
远程代码执行 (RCE)
CVSS评分
9.4 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Scramble (Laravel API Documentation Generator)

相关标签

RCELaravelScrambleCVE-2026-44262代码注入0-day

漏洞概述

Scramble 是一个用于为 Laravel 项目生成 API 文档的工具。在 0.13.2 至 0.13.22 之前的版本中存在严重安全漏洞。当文档端点公开可访问,且验证规则引用了用户控制的输入时,攻击者提供的请求数据可能会在文档生成过程中被评估。这导致在应用程序上下文中执行任意 PHP 代码,进而完全控制服务器。该漏洞已在 0.13.22 版本中修复。

技术细节

该漏洞源于 Scramble 在生成文档时对验证规则的不安全处理。Scramble 为了生成准确的 API 文档,会动态解析路由中的验证规则。如果开发者在验证逻辑中直接引用了用户请求的输入(例如使用 `request()->input('param')` 动态定义规则),Scramble 的文档生成器会尝试解析并评估这些输入数据。由于缺乏有效的安全隔离和沙箱机制,攻击者可以向受影响的端点发送特制的恶意 Payload。当系统后台或管理员触发文档更新时,恶意数据被当作 PHP 代码执行,从而实现无需认证的远程代码执行。

攻击链分析

STEP 1
侦察
攻击者识别出目标网站使用的是 Laravel 框架,并且安装了受影响版本(< 0.13.22)的 Scramble 包,且文档端点(如 `/docs/api`)可公开访问。
STEP 2
武器化
攻击者分析目标 API 的验证逻辑,构造包含恶意 PHP 代码的 HTTP 请求数据,旨在触发文档生成器对输入数据的评估。
STEP 3
传递
攻击者将特制的恶意请求发送到目标应用程序的 API 端点。
STEP 4
利用
当 Scramble 尝试为该端点生成或更新文档时,它会读取请求输入并在验证规则解析过程中评估恶意数据。
STEP 5
执行
恶意 PHP 代码在应用程序的服务器上下文中被执行,导致攻击者获得服务器控制权。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL (Vulnerable endpoint) target_url = "http://vulnerable-app.com/api/test" # Hypothetical payload exploiting the validation rule evaluation # Assuming the backend uses request()->input('rule') in validation payload = { "input_field": "some_value", "malicious_rule": "<?php system('whoami'); ?>" } try: response = requests.post(target_url, data=payload) print(f"Request sent to {target_url}") print("If the documentation generation is triggered, the code may execute.") print("Response status:", response.status_code) except Exception as e: print(f"Error: {e}")

影响范围

dedoc/scramble >= 0.13.2, < 0.13.22

防御指南

临时缓解措施
如果无法立即升级,建议在 Web 服务器层(如 Nginx 或 Apache)或应用防火墙(WAF)中配置规则,阻断对 `/docs/api` 路径的外部访问请求,以防止攻击者触发文档生成逻辑。

参考链接