PT-2026-65621 · Rubygems · Pagy
CVE-2026-54659
·
Publicado
2026-07-28
·
Atualizado
2026-07-28
CVSS v4.0
6.9
Média
| Vetor | AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N |
Nome do Software Vulnerável e Versões Afetadas
Pagy versões 43.0.0 até 43.5.5
Descrição
No definidor
Pagy::I18n.locale= em gem/lib/pagy/modules/i18n/i18n.rb, os valores de localidade são armazenados literalmente e posteriormente utilizados como componentes de caminho para carregar arquivos de dicionário YAML. Quando uma aplicação atribui entradas de usuário não sanitizadas à localidade, como através da variável params[:locale], um invasor pode usar caminhos absolutos ou sequências de travessia de diretório (ex: ../) para redirecionar a busca de arquivos para fora do diretório de localidades pretendido. Embora as verificações estruturais do software impeçam que o conteúdo do arquivo seja retornado na resposta, esse comportamento cria um oráculo de existência e legibilidade de arquivos para arquivos .yml no host, pois a resposta do sistema difere dependendo se o arquivo alvo existe e é legível.Recomendações
Atualize o Pagy para a versão 43.5.6.
Como solução temporária, valide a localidade antes da atribuição aplicando uma restrição de formato BCP 47 à variável
params[:locale] ou restringindo-a a um conjunto conhecido de localidades confiáveis.Correção
Path traversal
Information Disclosure
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Pagy