Na versão Fedora Linux 45, programada para o outono de 2026, será incluído por padrão o uso de pilha sombra (shadow stack) em sistemas x86_64 para bloquear a operação de exploits que reescrevem o endereço de retorno das funções em caso de estouro de buffer na pilha. A proteção será ativada para todos os aplicativos e bibliotecas compilados com os compiladores gcc (C, C++), clang (C, C++) e rustc (Rust). O plano ainda não foi aprovado pelo comitê FESCo (Fedora Engineering Steering Committee), responsável pela parte técnica do desenvolvimento do Fedora Linux. O incentivo para a inclusão da pilha sombra no Fedora vem de Arjun Shankar, da Red Hat, que mantém os pacotes com glibc no Fedora e RHEL.
A proteção é realizada utilizando os recursos de hardware dos processadores, consistindo que, após a transferência de controle para uma função, os endereços de retorno são salvos pelo processador não apenas na pilha normal, mas também em uma pilha 'sombra' separada, que não pode ser alterada diretamente. Antes de sair da função, o endereço de retorno é extraído da pilha sombra e verificado com o endereço de retorno da pilha principal. A discordância entre os endereços resulta na geração de uma exceção, bloqueando situações em que um exploit conseguiu reescrever o endereço na pilha principal. O mecanismo de pilha sombra é suportado a partir da 11ª geração de processadores Intel ('Tiger Lake' e 'Rocket Lake') e da microarquitetura Zen3 nos processadores AMD.
Fonte: opennet.ru
