Podatność w platformie Budibase umożliwia nieuwierzytelnionemu atakującemu dostęp do chronionych endpointów API poprzez dołączenie publicznej ścieżki jako parametru query string. Luka jest krytyczna, ponieważ nie wymaga żadnych uprawnień ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
Budibase is an open-source low-code platform. Prior to 3.35.4, the authenticated middleware uses unanchored regular expressions to match public (no-auth) endpoint patterns against ctx.request.url. Since ctx.request.url in Koa includes the query string, an attacker can access any protected endpoint by appending a public endpoint path as a query parameter. For example, POST /api/global/users/search?x=/api/system/status bypasses all authentication because the regex /api/system/status/ matches in the query string portion of the URL. This vulnerability is fixed in 3.35.4.
Middleware odpowiedzialny za uwierzytelnienie używa niezakotwiczonych wyrażeń regularnych (unanchored regular expressions) do dopasowywania wzorców publicznych endpointów względem pełnego adresu URL żądania. W frameworku Koa pole ctx.request.url zawiera również query string, co sprawia, że wyrażenie regularne dopasowuje nie tylko ścieżkę właściwą, ale także część parametrów zapytania. Atakujący może zatem wysłać żądanie do chronionego endpointu (np. POST /api/global/users/search) i dołączyć w query stringu publiczną ścieżkę (np. ?x=/api/system/status), co powoduje fałszywe dopasowanie przez wyrażenie regularne i pominięcie całej weryfikacji tożsamości.
Atakujący bez żadnych uprawnień może uzyskać dostęp do dowolnego chronionego endpointu API, co prowadzi do nieuprawnionego odczytu wrażliwych danych oraz potencjalnego zakłócenia działania systemu (zgodnie z wektorem CVSS: wysoki wpływ na poufność i dostępność).
Należy zaktualizować Budibase do wersji 3.35.4 lub nowszej, w której podatność została naprawiona poprzez poprawne zakotwiczenie wyrażeń regularnych używanych w middleware uwierzytelnienia.
Budibase w wersjach wcześniejszych niż 3.35.4
Podatność dotyczy mechanizmu dopasowania wyrażeń regularnych w middleware Koa. Szczegóły techniczne oraz advisory dostępne są w repozytorium GitHub projektu Budibase (GHSA-8783-3wgf-jggf).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HBudibase
APPBudibase< 3.35.4
Powiązane podatności
SQL/NoSQL Injection w Budibase — nieautoryzowany odczyt i zapis danych
Budibase: path traversal przez symlink w endpoint przetwarzania ZIP
SSRF w Budibase — nieaktywna ochrona blacklisty IP umożliwia dowolne żądania
Budibase: nieuwierzytelniony RCE przez publiczny webhook i krok Bash
Path Traversal w Budibase — odczyt dowolnych plików przez endpoint PWA ZIP