CVE-2026-89975 in Linux
Sumário
de VulDB • 16/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
nvme-fabrics: corrige o vazamento de segredo DHCHAP em caso de falha na análise (parse)
nvmf_parse_options() duplica dhchap_secret e dhchap_ctrl_secret com match_strdup() antes de validar a representação DHHC-1.
Se a validação falhar, o analisador retorna -EINVAL antes que a string temporária em p seja atribuída a opts->dhchap_secret ou opts->dhchap_ctrl_secret. nvmf_create_ctrl() subsequentemente libera opts, mas nvmf_free_options() não pode liberar a string temporária não atribuída. Cada opção rejeitada causa o vazamento de uma alocação.
Isso é fácil de passar despercebido porque segredos válidos transferem a propriedade para opts e são liberados normalmente, enquanto o caminho do segredo malformado ainda retorna -EINVAL esperado ao userspace.
Com CONFIG_NVME_HOST_AUTH habilitado, o vazamento é acessível antes das verificações de opções obrigatórias e da pesquisa de transporte (transport lookup). Nenhum alvo NVMe-oF ou conexão de transporte funcional é necessário; por exemplo, escrever repetidamente
dhchap_secret=BAD
ou
dhchap_ctrl_secret=BAD
em /dev/nvme-fabrics leva deterministicamente ao caminho de análise com vazamento.
Libere a string temporária antes de sair dos dois caminhos de erro de validação. Use kfree_sensitive() porque a opção copiada pode conter material secreto mesmo quando sua representação é rejeitada, correspondendo à limpeza sensível usada para segredos DHCHAP armazenados.
If you want to get best quality of vulnerability data, you may have to visit VulDB.