Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-54356 — 针对 CVE-2026-54356 的概念验证漏洞利用与安全公告,该漏洞是 Budibase 的一个授权缺失缺陷,可让低权限用户使用存储的 AWS 凭证生成 S3 预签名上传 URL。 | Kitploit
工具/GitHubGitHub/kovachvl/cve-2026-54356
漏洞分析漏洞利用Web应用程序漏洞利用API安全测试渗透测试云安全
GitHubkovachvl/cve-2026-54356

CVE-2026-54356

针对 CVE-2026-54356 的概念验证漏洞利用与安全公告,该漏洞是 Budibase 的一个授权缺失缺陷,可让低权限用户使用存储的 AWS 凭证生成 S3 预签名上传 URL。

查看仓库
5天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-54356 — Budibase:经认证的任意 S3 签名上传 URL 签发

已发布 Budibase 工作区中低权限(BASIC 角色)的已认证用户可以调用 POST /api/attachments/:datasourceId/url,并获得一个使用工作区数据源的服务端 AWS 凭据签名的 S3 预签名上传 URL,适用于攻击者控制的对象键(并且,如果数据源没有固定存储桶,也可以是攻击者控制的存储桶)。

CVECVE-2026-54356
公告GHSA-6x9p-4r67-5gjx
软件包@budibase/server
类型CWE-862:缺少授权
受影响版本< 3.41.3
修复版本3.41.3
严重性高 — CVSS 3.1 7.1(AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N)
所需权限已认证的 BASIC 应用用户

根本原因

packages/server/src/api/routes/static.ts:

root@kitploit:~
.post(
  "/api/attachments/:datasourceId/url",
  recaptcha,
  authorized(PermissionType.TABLE, PermissionLevel.WRITE), // too low, wrong resource
  controller.getSignedUploadURL
)

packages/server/src/api/controllers/static/index.ts(getSignedUploadURL)通过 :datasourceId 加载数据源,取出其存储的 accessKeyId/secretAccessKey,并为攻击者提供的 bucket/key 签署 PutObject 请求:

root@kitploit:~
const { bucket, key } = ctx.request.body || {}
const s3 = new S3({
  credentials: {
    accessKeyId: datasource?.config?.accessKeyId as string,
    secretAccessKey: datasource?.config?.secretAccessKey as string,
  },
})
signedUrl = await getSignedUrl(s3, new PutObjectCommand({ Bucket: bucket, Key: key }))

生成一个由凭据支持的签名 URL 属于特权操作,但该检查仅要求通用的表写入权限(BASIC 角色拥有该权限),并且从不验证调用者是否有权使用该特定数据源。预期结果:403。实际结果:返回 200 及 signedUrl/publicUrl。

影响

  • 攻击者可获得使用组织存储的 AWS 凭据签名的有效 PutObject 预签名 URL。
  • 可写入/覆盖数据源存储桶中的任意对象键,并且——当数据源配置中未固定存储桶时——可能访问这些凭据可达的任何存储桶。
  • 该签名 URL 可在平台外使用(直接 curl/PUT)。

PoC

参见 poc/:

  • poc/exploit.sh — curl PoC(登录 → 生成签名 URL → 上传证明文件)。
  • poc/poc.py — 相同的流程,使用 Python 实现。
root@kitploit:~
python3 poc/poc.py \
  --target http://localhost:10000 \
  --app-id app_xxx --datasource-id datasource_xxx \
  --email [email protected] --password 'Password123!' \
  --bucket my-attachments --key poc/cve-2026-54356/proof.txt \
  --upload

修复方案

升级到 Budibase 3.41.3+。如果无法立即升级,请将 S3 数据源的 AWS 凭据范围限制为最小权限(存储桶/前缀受限的 IAM 策略),并监控意外的 PutObject 活动。

致谢

由 @KovachVL 发现并报告。

免责声明

仅限教育/防御用途及协同披露。仅可测试您拥有或明确获授权测试的系统。

下载工具