I Fedora Linux 45, der er planlagt til efteråret 2026, vil der på x86_64-systemer blive aktivt inkluderet brugen af shadow stack som standard for at blokere for exploits, der overskriver funktionsreturadresser ved buffer overflow i stakken. Beskyttelsen forventes at blive aktiveret for alle applikationer og biblioteker, der er compilert med gcc (C, C++), clang (C, C++) og rustc (Rust). Planen er endnu ikke godkendt af FESCo (Fedora Engineering Steering Committee), som er ansvarlig for den tekniske del af Fedora Linux. Initiativtageren til inklusionen af shadow stack i Fedora er Arjun Shankar fra Red Hat, der håndterer pakker med glibc i Fedora og RHEL.
Beskyttelsen implementeres ved hjælp af processorens hardwaremuligheder og indebærer, at efter kontrollens overførsel til en funktion, gemmes returadresserne ikke kun i den normale stak, men også i en separat 'shadow' stak, som ikke kan ændres direkte. Før udgangen af funktionen hentes returadressen fra shadow stakken og verificeres mod returadressen fra den primære stak. En mismatch af adresserne fører til generation af en undtagelse, der blokerer situationer, hvor et exploit har været i stand til at overskrive adressen i den primære stak. Mechanismen for shadow stack understøttes fra 11. generation af Intel-processorer ('Tiger Lake' og 'Rocket Lake') og microarkitekturen Zen3 i AMD-processorer.
Kilde: opennet.ru
