PT-2024-22316 · Unknown · Turbo Boost-Commands
CVE-2024-28181
·
Publicado
2024-03-14
·
Atualizado
2025-12-05
CVSS v3.1
8.1
Alta
| Vetor | AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
Nome do software vulnerável e versões afetadas
Versões do turbo boost-commands anteriores à 0.1.3
Versões do turbo boost-commands anteriores à 0.2.2
Descrição
A biblioteca turbo boost-commands possui proteções insuficientes para garantir que apenas métodos públicos nas classes Command possam ser invocados. Um invasor sofisticado pode ser capaz de invocar mais métodos do que o permitido, dependendo das verificações de autorização aplicadas por aplicativos individuais. Isso pode levar à execução indesejada de código. A biblioteca deve verificar mais rigorosamente quais métodos são considerados seguros antes de permitir sua execução. O problema decorre da verificação inadequada do método solicitado, confirmando apenas que a classe é um
Command e que o método é definido publicamente, o que não é suficiente para impedir toda a execução indesejada de código.Recomendações
Atualize para a versão 0.1.3 ou posterior do turbo boost-commands.
Atualize para a versão 0.2.2 ou posterior do turbo boost-commands.
Se a atualização não for possível, implemente a solução alternativa fornecida adicionando a seguinte proteção à sua aplicação:
ruby
class ApplicationCommand < TurboBoost::Commands::Command
before command do
method name = params[:name].include?(“#”) ? params[:name].split(“#”).last : :perform
ancestors = self.class.ancestors[0..self.class.ancestors.index(TurboBoost::Commands::Command) - 1]
allowed = ancestors.any? { |a| a.public instance methods(false).any? method name.to sym }
throw :abort unless allowed
end
end
Exploit
Correção
Special Elements Injection
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Turbo Boost-Commands