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
Vulnerability AnalysisExploitationWeb Application ExploitationAPI Security TestingPenetration TestingCloud Security
GitHubkovachvl/cve-2026-54356

CVE-2026-54356

CVE-2026-54356에 대한 개념 증명 익스플로잇 및 권고입니다. 이는 Budibase의 인가 누락 결함으로, 낮은 권한의 사용자가 저장된 AWS 자격 증명을 사용해 S3 사전 서명 업로드 URL을 생성할 수 있게 합니다.

저장소 보기
7일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

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. 실제값: signedUrl/publicUrl이 포함된 200.

영향

  • 공격자는 조직에 저장된 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이(가) 발견하고 보고했습니다.

면책 조항

교육/방어 목적 및 조정된 공개(coordinated disclosure) 전용입니다. 소유한 시스템 또는 명시적으로 테스트 권한이 부여된 시스템만 테스트하세요.

도구 다운로드