
Vulnerabilidade de Geração de IV AES-CFB no Aplicativo de Desktop Reolink
O Aplicativo Desktop da Reolink (versão 8.18.12) usa o algoritmo AES-CFB para criptografar arquivos de configuração e outros dados sensíveis.
No entanto, o Vetor de Inicialização (IV) usado nesse processo é tratado de forma inadequada, levando a uma vulnerabilidade em que os dados de configuração criptografados podem ser facilmente descriptografados por um invasor.
O código a seguir mostra que o IV é gerado dinamicamente em tempo de execução:
{
key: "fetchAesIv",
value: function () {
return window.napiDecrypt.getAesIv();
},
}
No entanto, o valor retornado é sempre a mesma string: bcswebapp1234567.
Isso significa que, embora o IV seja tecnicamente gerado em tempo de execução, ele é efetivamente codificado, não fornecendo segurança adicional.
Enquanto o aplicativo está em execução, o valor do IV pode ser recuperado dinamicamente por meio do console JavaScript do DevTools.
A função window.napiDecrypt.getAesIv() retorna uma Promise que resolve para uma string constante bcswebapp1234567.

Isso demonstra que o IV é reutilizado em todas as operações de criptografia, violando as melhores práticas criptográficas.
Em modos de cifra de bloco como CFB, CBC e OFB, reutilizar um IV pode permitir que um invasor preveja padrões de texto cifrado, comprometendo, em última análise, a confidencialidade dos dados. Para cumprir o propósito de um IV, um novo valor imprevisível deve ser gerado dinamicamente.