A função `secure popen()` em `glances/secure.py` interpreta incorretamente operadores semelhantes ao shell, especificamente `>` (redirecionamento de arquivo), `|` (pipe) e `&&` (encadeamento de comandos), em strings de comando. Quando os módulos do Application Monitoring Process (AMP) carregam os valores de configuração `command` ou `service cmd` do arquivo `glances.conf`, esses valores são passados para `secure popen()` sem sanitização. Isso permite que um invasor que possa modificar o arquivo de configuração escreva conteúdo arbitrário em qualquer caminho do sistema de arquivos, encadeie comandos arbitrários ou direcione a saída para outros programas.
Detalhes técnicos incluem:
- **Função Vulnerável**: `secure popen()` analisa o operador `>` para escrever em arquivos via `open(stdout redirect, "w")` sem validação de caminho, e usa `|` e `&&` para executar processos sequenciais ou via pipe.
- **Parâmetros Vulneráveis**: Os valores de configuração `command` e `service cmd` carregados das seções `[amp <name>]` e `[amp systemv]`.
A flag `--disable-config-exec` não mitiga este problema, pois evita apenas a execução de crases em `config.get value()` e não afeta a forma como a `secure popen()` processa as strings resultantes.