A Shadow Stack használatát tennék alapértelmezetté a modern Intel és AMD rendszereken, a jobb biztonság érdekében. A javaslat szerint x86_64 rendszereken alapértelmezetten engedélyeznék a Shadow Stack védelmet minden olyan alkalmazásnál és programkönyvtárnál, amelyet GCC-vel, LLVM Clanggel vagy Rustc-vel fordítottak. A dinamikus linker vagy a statikus induló rutinok minden olyan folyamatnál aktiválják a Shadow Stacket, ahol a bináris és a megosztott könyvtárfüggőségek mind Shadow Stack támogatással készültek. A Shadow Stacket a modern Intel és AMD CPU-k hardveresen kényszerítik ki, hogy segítsenek kivédeni a Return-Oriented Programming (ROP) típusú támadásokat.
A változtatási javaslat így részletezi a tervet:
"Ez a változtatás alapértelmezetten engedélyezi a Shadow Stack védelmet azokon az x86_64 gépeken, amelyek támogatják, Fedora Linux 45 alatt. A dinamikus linker vagy a statikus induló rutinok minden olyan folyamatnál aktiválják a Shadow Stacket, amelynek binárisa és megosztott könyvtárfüggőségei mind Shadow Stack támogatással készültek, így ahol csak lehet, alapértelmezetten védik a folyamatokat. A Shadow Stack az Intel CET két Control-Flow Enforcement funkciójának egyike, az Indirect Branch Trackinggel (IBT) együtt. Ezeket azért vezették be, hogy a visszatérési címek védelmével megnehezítsék a Return-Oriented Programming (ROP) és a Jump-Oriented Programming (JOP) támadásokat. Ez a Fedora változtatás csak a Shadow Stack támogatás engedélyezésére terjed ki. Az Indirect Branch Tracking alapértelmezett bekapcsolása nem része a tervnek.
A változtatás nagyrészt visszafelé kompatibilis: az -fcf-protection már 2018 óta alapértelmezett fordítási kapcsoló a redhat-rpm-config beállításban Fedora alatt, ezért a binárisok többsége már most is a megfelelő jelöléssel készül. Így a módosítás után azok az alkalmazások, amelyek függőségei Shadow Stack jelöléssel rendelkeznek, átláthatóan plusz védelmet kapnak, míg azok az alkalmazások, amelyek induláskor bármilyen nem kompatibilis objektumot töltenek be, továbbra is Shadow Stack védelem nélkül futnak. Az egyetlen új hibaforrás az, ha egy Shadow Stack engedélyezett folyamat futás közben próbál meg dlopen-nel betölteni egy nem kompatibilis megosztott objektumot. Ilyenkor a dlopen hibával tér vissza, például: error: dlopen: /path/to/library.so: rebuild shared object with SHSTK support enabled."
A Shadow Stack használatának teljesítményköltsége általában elhanyagolható vagy gyakorlatilag nem mérhető, miközben javítja a rendszer biztonságát. Ez a lépés egyben előkészíti az utat ahhoz is, hogy egy későbbi Fedora Linux kiadásban alapértelmezetten bekapcsolják az Indirect Branch Tracking (IBT) funkciót, és így teljes Control-flow Enforcement Technology (CET) védelmet nyújtsanak. A Fedora 45 Shadow Stack javaslatáról további részletek olvashatók a Fedora Wiki oldalán.

