Nella pubblicazione di Fedora Linux 45, prevista per l'autunno del 2026, si prevede di abilitare di default l'uso dello shadow stack sui sistemi x86_64 per bloccare il funzionamento degli exploit che sovrascrivono l'indirizzo di ritorno delle funzioni in caso di overflow del buffer nello stack. La protezione sarà attivata per tutte le applicazioni e le librerie compilate utilizzando i compilatori gcc (C, C++), clang (C, C++) e rustc (Rust). Il piano non è ancora stato approvato dal comitato FESCo (Fedora Engineering Steering Committee), responsabile della parte tecnica dello sviluppo di Fedora Linux. L'iniziativa di includere lo shadow stack in Fedora è stata lanciata da Arjun Shankar di Red Hat, che gestisce i pacchetti di glibc in Fedora e RHEL.
La protezione viene attuata sfruttando le capacità hardware dei processori. Questo avviene tramite la memorizzazione degli indirizzi di ritorno non solo nello stack principale ma anche in uno stack separato chiamato "stack ombra", che non può essere modificato direttamente. Prima di uscire da una funzione, l'indirizzo di ritorno viene estratto dallo stack ombra e confrontato con quello dello stack principale. Se gli indirizzi non corrispondono, viene generata un'eccezione che previene situazioni in cui un exploit riesce a sovrascrivere l'indirizzo nello stack principale. Il meccanismo dello stack ombra è supportato a partire dall'11° generazione di processori Intel ("Tiger Lake" e "Rocket Lake") e dalla microarchitettura Zen3 nei processori AMD.
Fonte: opennet.ru
