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.
The middleware responsible for authentication uses unanchored regular expressions to match patterns of public endpoints against the full URL of the request. In the Koa framework, the ctx.request.url field also contains the query string, which means the regular expression matches not only the proper path but also part of the query parameters. An attacker can therefore send a request to a protected endpoint (e.g. POST /api/global/users/search) and include a public path in the query string (e.g. ?x=/api/system/status), which causes a false match by the regular expression and bypasses the entire identity verification.
An attacker without any privileges can gain access to any protected API endpoint, leading to unauthorized reading of sensitive data and potential system disruption (according to CVSS vector: high impact on confidentiality and availability).
Budibase should be updated to version 3.35.4 or later, in which the vulnerability was fixed by properly anchoring the regular expressions used in the authentication middleware.
Budibase in versions earlier than 3.35.4
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HBudibase
APPBudibase< 3.35.4
Related vulnerabilities
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