Budibase는 오픈 소스 로우 코드 플랫폼입니다. 3.39.9 이전에는 packages/server/src/api/routes/static.ts:24의 `POST /api/pwa/process-zip`이 빌더 업로드 .zip을 허용하고 extract-zip@2.0.1을 사용하여 이를 임시 디렉토리에 추출한 다음 Icons.json에 나열된 각 항목에 대해 아이콘 경로의 유효성을 검사하고 열고 바이트를 MinIO로 스트리밍합니다. 결과 객체는 GET /api/assets/{appId}/pwa/{uuid}.png를 통해 다시 제공됩니다. extract-zip@2.0.1은 심볼릭 링크 항목을 복원할 때 절대 심볼릭 링크 대상을 유지합니다.
Budibase는 오픈 소스 로우 코드 플랫폼입니다. 3.39.9 이전에는 packages/server/src/api/routes/static.ts:24의 POST /api/pwa/process-zip이 빌더 업로드 .zip을 허용하고 extract-zip@2.0.1을 사용하여 이를 임시 디렉토리에 추출한 다음 Icons.json에 나열된 각 항목에 대해 아이콘 경로의 유효성을 검사하고 열고 바이트를 MinIO로 스트리밍합니다. 결과 객체는 GET /api/assets/{appId}/pwa/{uuid}.png를 통해 다시 제공됩니다. extract-zip@2.0.1은 심볼릭 링크 항목을 복원할 때 절대 심볼릭 링크 대상을 유지합니다. packages/server/src/api/controllers/static/index.ts:259-268에 있는 아이콘 소스 유효성 검사기는 baseDir(path.resolve)에 대해 아이콘 소스 문자열을 확인하고, 해당 문자열에 대해 receivedSrc.startsWith(baseDir + path.sep)를 확인하고, 기호 링크를 따라 대상이 존재하는지 확인하는 fs.existsSync(resolvedSrc)를 호출합니다. 세 가지 호출 중 어느 것도 기호 링크 항목을 거부하지 않습니다. packages/backend-core/src/objectStore/objectStore.ts:302 그런 다음 확인된 경로에서 (await fsp.open(path)).createReadStream()을 호출합니다. fsp.open은 심볼릭 링크를 따르고, 대상 파일의 바이트는 MinIO로 스트리밍되며, 자산 가져오기 엔드포인트의 응답은 해당 바이트를 그대로 반환합니다. 결과: 작업공간 수준 빌더는 서버 프로세스가 열 수 있는 모든 파일을 읽습니다. 이 취약점은 3.39.9에서 수정되었습니다.
| 소스 | CVSS 버전 | 기본 점수 | 심각도 | 벡터 문자열 | 평가일 |
|---|---|---|---|---|---|
| NVDNIST | 3.1 | 9.6 | CRITICAL | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N | 2026. 06. 27. |
| OSV3rd | 3.1 | 9.6 | CRITICAL |
| CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N |
| 2026. 06. 23. |