PT-2026-37155 · Npm · I18Next-Locize-Backend
CVE-2026-41885
·
Publicado
2026-04-22
·
Atualizado
2026-05-08
CVSS v3.1
6.5
Média
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N |
Nome do Software Vulnerável e Versões Afetadas
i18next-locize-backend versões anteriores a 9.0.2
Descrição
O software interpola
lng, ns, projectId e version diretamente em modelos de URL configurados, como 'loadPath', 'privatePath', 'addPath', 'updatePath' e 'getLanguagesPath', sem validação de componentes de caminho ou codificação. Quando esses valores são expostos a entradas controladas pelo usuário — como parâmetros de consulta via i18next-browser-languagedetector, cookies, cabeçalhos de requisição ou um projectId derivado de URL — um valor malicioso pode alterar a estrutura da URL de requisição de saída. Isso pode levar a travessia de diretório (path traversal), injeção de string de consulta ou truncamento de fragmento. Em casos onde um 'loadPath' personalizado é configurado contra uma URL interna ou de esquema de arquivo, isso pode resultar em Server-Side Request Forgery (SSRF) ou leitura de arquivo arbitrário no host. Além disso, a função interpolate() em lib/utils.js lê data[key] sem excluir propriedades da cadeia de protótipos, o que poderia permitir que valores de Object.prototype fossem inseridos na URL em condições de poluição de protótipo (prototype pollution). O problema envolve o auxiliar interpolate() usado em lib/index.js dentro das funções readAny(), read(), getLanguages() e writePage().Recomendações
Atualize para a versão 9.0.2.
Como mitigação temporária, sanitize
lng, ns, projectId e version no limite da aplicação, rejeitando valores que contenham .., /, ``, ?, #, %, espaços em branco ou caracteres de controle, e limitando o comprimento dessas entradas.Exploit
Correção
Special Elements Injection
Path traversal
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
I18Next-Locize-Backend