PT-2024-22316 · Unknown · Turbo Boost-Commands

CVE-2024-28181

·

Publicado

2024-03-14

·

Atualizado

2025-12-05

CVSS v3.1

8.1

Alta

VetorAV: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

CVE-2024-28181
GHSA-MP76-7W5V-PR75

Produtos afetados

Turbo Boost-Commands