Im kommenden Fedora Linux 45, der für den Herbst 2026 geplant ist, wird auf x86_64-Systemen standardmäßig die Verwendung eines Schattenstapels (shadow stack) aktiviert, um Exploits zu blockieren, die die Rücksprungadresse von Funktionen bei einem Stack-Überlauf überschreiben. Der Schutz soll für alle Anwendungen und Bibliotheken aktiv sein, die mit den Compilern gcc (C, C++), clang (C, C++) und rustc (Rust) erstellt wurden. Der Plan wurde jedoch noch nicht vom FESCo-Komitee (Fedora Engineering Steering Committee), das für die technische Entwicklung von Fedora Linux verantwortlich ist, genehmigt. Initiator der Einführung des Schattenstapels in Fedora ist Arjun Shankar von Red Hat, der die Pakete mit glibc in Fedora und RHEL betreut.
Der Schutz erfolgt durch die Nutzung der Hardware-Fähigkeiten der Prozessoren und besteht darin, dass nach der Übergabe der Kontrolle die Rückgabewerte nicht nur im regulären Stapel, sondern auch in einem separaten 'Schattenspeicher' vom Prozessor gespeichert werden, der nicht direkt verändert werden kann. Vor dem Verlassen der Funktion wird die Rückgabewertadresse aus dem Schattenspeicher extrahiert und mit der Rückgabewertadresse aus dem Hauptstapel abgeglichen. Eine Adressdiskrepanz führt zur Auslösung einer Ausnahme, die Situationen blockiert, in denen es einem Exploit gelungen ist, die Adresse im Hauptstapel zu überschreiben. Der Mechanismus des Schattenspeichers wird seit der 11. Generation der Intel-Prozessoren ('Tiger Lake' und 'Rocket Lake') und der Zen3-Mikroarchitektur in AMD-Prozessoren unterstützt.
Quelle: opennet.ru
