Linux · Linux Kernel · CVE-2021-47483
Nome do software vulnerável e versões afetadas:
Kernel do Linux (versões afetadas não especificadas)
Descrição:
O problema está relacionado a uma possível liberação dupla na função regcache rbtree exit(). Quando a realocação de ‘present’ falha em regcache rbtree insert to block(), o ‘blk’ atribuído a ‘rbnode->block’ será liberado, fazendo com que ‘rbnode->block’ aponte para a memória liberada. No caminho de tratamento de erros de regcache rbtree init(), ‘rbnode->block’ será liberado novamente em regcache rbtree exit(), resultando em um erro de liberação dupla relatado pelo KASAN. O erro ocorre no seguinte rastreamento de chamadas: slab free freelist hook, kfree, regcache rbtree exit, regcache rbtree init, regcache init, regmap init, devm regmap init, madera spi probe, spi probe e really probe. Para corrigir isso, a atribuição de rbnode->block é movida para imediatamente após o sucesso da realocação, garantindo que a estrutura de dados permaneça válida mesmo que a segunda realocação falhe.
Recomendações:
No momento, não há informações sobre uma versão mais recente que contenha uma correção para essa vulnerabilidade.