I Fedora Linux 45, som Àr planerad till hösten 2026, avser man att som standard aktivera anvÀndningen av en shadow stack pÄ x86_64-system för att blockera exploitering som skriver över returadresser för funktioner vid buffer overflow. Skyddet avses att aktiveras för alla applikationer och bibliotek som Àr byggda med hjÀlp av kompilatorerna gcc (C, C++), clang (C, C++) och rustc (Rust). Planen Àr Ànnu inte godkÀnd av kommittén FESCo (Fedora Engineering Steering Committee), som ansvarar för den tekniska delen av utvecklingen av Fedora Linux. Initiativtagaren till att införa en shadow stack i Fedora Àr Arjun Shankar frÄn Red Hat, som hanterar paketen med glibc i Fedora och RHEL.
Skyddet implementeras med hjÀlp av processorns hÄrdvarufunktioner och gÄr ut pÄ att efter överföringen av kontroll till en funktion, sparas returadresser inte bara i den vanliga stacken utan ocksÄ i en separat "shadow" stack som inte kan Àndras direkt. Innan utgÄngen frÄn funktionen hÀmtas returadressen frÄn shadow stacken och jÀmförs med returadressen frÄn den huvudsakliga stacken. Om adresserna inte överensstÀmmer genereras ett undantag som blockerar situationer dÀr en exploitering lyckats skriva över adressen i den huvudsakliga stacken. Shadow stack mekanismen stöds frÄn och med den 11:e generationen av Intel-processorer ("Tiger Lake" och "Rocket Lake") och Zen3-mikroarkitekturen i AMD-processorer.
KĂ€lla: opennet.ru
