🔍 CVE-2026-46424

4.2
CVSS Score
MEDIUM
2026-05-27
2026-06-17 10:53
✅ 완료

🇰🇷 한글 설명

Budibase 3.38.2 이전 버전에서 공개 API의 역할 해제 엔드포인트가 CouchDB 사용자 문서는 수정하지만 Redis 캐시를 무효화하지 않아 권한 취소된 사용자가 최대 1시간 동안 기존 권한을 유지할 수 있는 취약점입니다. 인증 미들웨어가 3600초의 TTL을 가진 Redis 캐시에서 사용자 정보와 권한을 읽기 때문에 권한 변경이 실시간으로 반영되지 않습니다.

💡 쉬운 설명

Budibase에서 관리자가 사용자의 권한을 빼앗았어도, 그 사용자는 1시간 동안 여전히 관리자 권한을 사용할 수 있습니다. 권한을 즉시 제거하는 메커니즘이 없기 때문입니다.

🇺🇸 원문 (English)

Budibase is an open-source low-code platform. Prior to 3.38.2, the public API role unassignment endpoint (POST /api/public/v1/roles/unassign) updates user documents in CouchDB but does not invalidate the corresponding Redis user cache entries. Because the authentication middleware resolves user identity and permissions from this cache (TTL: 3600 seconds), a user whose admin, builder, or app-level roles have been revoked via the public API retains those privileges for up to 1 hour. This vulnerability is fixed in 3.38.2.

📍 영향받는 시스템

Budibase < 3.38.2

⚔️ 공격 벡터

공개 API의 역할 해제 엔드포인트(POST /api/public/v1/roles/unassign)를 호출한 후 Redis 캐시가 만료될 때까지(최대 1시간) 이미 해제된 권한으로 접근 시도

🛡️ 대응 방법

Budibase를 3.38.2 이상으로 업그레이드하거나, Redis 캐시 무효화 로직을 추가하여 역할 해제 시 해당 사용자의 캐시 항목 즉시 삭제

🔧 검증 코드

반환된 버전이 3.38.2 이상이면 안전하고, 3.38.2 미만이면 취약점 존재. Budibase가 실행 중이 아니면 설치 확인 필요

Shell / Script
curl -s http://your-budibase-instance/api/system/version | jq '.version' 2>/dev/null || echo 'Budibase not running'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N

💻 영향받는 소프트웨어

Redis