PT-2026-65621 · Rubygems · Pagy
CVE-2026-54659
·
Publicado
2026-07-28
·
Atualizado
2026-07-29
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
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.Exploit
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