PT-2026-41160 · Maarten · Marten
Publicado
2026-05-14
·
Atualizado
2026-05-28
·
CVE-2026-45288
CVSS v3.1
9.8
Crítica
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Nome do Software Vulnerável e Versões Afetadas
Marten versões anteriores a 8.36.1
Description
As APIs de pesquisa de texto completo interpolam o parâmetro
regConfig fornecido pelo usuário diretamente no SQL gerado, sem parametrização ou validação. Isso cria um ponto de injeção de SQL em qualquer caminho de código onde o regConfig esteja exposto a entradas não confiáveis. O problema ocorre porque a função FullTextWhereFragment renderiza o SQL da cláusula WHERE usando interpolação de string, permitindo que um invasor encerre o literal SQL usando uma aspa simples e anexe comandos PostgreSQL arbitrários. Isso pode levar à exfiltração não autorizada de dados, modificação ou exclusão de conteúdos do banco de dados e ataques de negação de serviço por meio de payloads baseados em tempo.Os endpoints e métodos de API afetados incluem:
- 'IQuerySession.SearchAsync(string searchTerm, string regConfig, ...)'
- 'IQuerySession.PlainTextSearchAsync(...)'
- 'IQuerySession.PhraseSearchAsync(...)'
- 'IQuerySession.WebStyleSearchAsync(...)'
- 'IQuerySession.PrefixSearchAsync(...)'
- 'IQueryable.Where(x => x.Search(term, regConfig))' e métodos de extensão associados para PlainTextSearch, PhraseSearch, WebStyleSearch e PrefixSearch.
Recommendations
Atualize para a versão 8.36.1 ou posterior.
Como medida paliativa temporária, configure o parâmetro
regConfig como uma constante de tempo de compilação e evite aceitá-lo a partir de entradas de requisição.
Como medida paliativa temporária, valide qualquer valor de regConfig de origem externa contra a expressão regular ^[a-zA-Z ][a-zA-Z0-9 ]*(.[a-zA-Z ][a-zA-Z0-9 ]*)?$ ou contra uma lista de permissões de configurações PostgreSQL aprovadas antes de passá-lo para a biblioteca.
Como medida paliativa temporária, remova o argumento regConfig do local da chamada para permitir que o software utilize o valor padrão seguro.Correção
SQL injection
Special Elements Injection
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Marten