js · @budibase/backend-coreCrítico
@budibase/backend-core: CSRF bypass via query string injection
As funções buildMatcherRegex() e matches() compilam padrões de rota em expressões regulares não ancoradas e testam contra ctx.
O que mudou
As funções buildMatcherRegex() e matches() compilam padrões de rota em expressões regulares não ancoradas e testam contra ctx.request.url (que inclui a query string). Isso permite que um atacante injete um padrão de rota pública na query string de uma requisição a um endpoint protegido, fazendo com que o middleware CSRF pule a validação do token.
Quem isso afeta
Todas as implantações self-hosted do Budibase com o serviço Worker acessível pela internet até a versão 3.32.3 inclusive.
O que fazer hoje
Aplique a correção ancorando as expressões regulares com ^ e $ e usando ctx.request.path em vez de ctx.request.url na função matches().
A esteira
Coletado→
Auditado→
Redigido→
Publicado