Security
9 min read
1860 views

Symlink-Angriffe: Wenn Dateivorgänge Ihr Vertrauen verraten

IT
InstaTunnel Team
Published by our engineering team
Symlink-Angriffe: Wenn Dateivorgänge Ihr Vertrauen verraten

Symbolische Links sind eine der mächtigsten Funktionen moderner Betriebssysteme, die flexible Dateiverwaltung und elegante Systemarchitekturen ermöglichen. Doch genau diese Flexibilität schafft eine gefährliche Angriffsfläche, die Entwickler und Sicherheitsteams weltweit weiterhin plagt. Von Container-Escapes in Docker und Kubernetes bis hin zu Privilegieneskalation auf Windows- und Linux-Systemen bleiben Symlink-Angriffe eine hartnäckige und sich entwickelnde Bedrohung, die Aufmerksamkeit erfordert.

Verständnis von symbolischen Links und deren Sicherheitsimplikationen

Ein symbolischer Link (symlink) ist eine spezielle Art von Datei, die als Zeiger oder Referenz auf eine andere Datei oder ein Verzeichnis dient. Im Gegensatz zu Hardlinks, die direkt auf Daten auf der Festplatte zeigen, enthalten Symlinks den Pfad zu ihrem Ziel und fungieren im Wesentlichen als raffinierte Abkürzungen. Diese Indirektion macht sie sowohl nützlich als auch gefährlich.

Wenn eine Anwendung einem Symlink folgt, greift sie in der Regel auf die Zieldatei mit den Berechtigungen des Prozesses zu, der die Operation durchführt – nicht mit den Berechtigungen des Benutzers, der den Link erstellt hat. Dieses Verhalten eröffnet Angreifern die Möglichkeit, privilegierte Dateivorgänge umzuleiten, Zugriffskontrollen zu umgehen und sensible Systemressourcen zu manipulieren.

Das grundlegende Sicherheitsproblem bei Symlinks ergibt sich aus der Art und Weise, wie Betriebssysteme Dateipfade auflösen. Wenn ein privilegierter Prozess einen Dateipfad mit Symlinks öffnet, folgt er diesen transparent, was dazu führen kann, dass Dateien erreicht werden, die der ursprüngliche Anfragende eigentlich nie berühren sollte. Ein Angreifer, der Symlinks an strategischen Stellen erstellen kann, nutzt dieses Verhalten aus, um Dateien zu lesen, zu schreiben oder zu löschen, die außerhalb seines eigentlichen Zugriffsbereichs liegen.

Die Anatomie von Symlink-Angriffen

Symlink-Angriffe lassen sich im Allgemeinen in mehrere Kategorien einteilen, die jeweils unterschiedliche Aspekte des Dateisystems und der Anwendungsentwicklung ausnutzen.

Schwachstellen bei Datei-Uploads und -Extraktionen

Einer der häufigsten Angriffsvektoren betrifft die Archiv-Extraktion – eine Schwachstellenklasse, die durch die “Zip Slip”-Forschung im Jahr 2018 bekannt wurde und Tausende von Projekten in verschiedenen Programmier-Ökosystemen betraf. Der Angriff nutzt bösartig gestaltete Archivdateien, die entweder Pfadüberlauf-Sequenzen oder symbolische Links enthalten, die beim Entpacken Dateien außerhalb des vorgesehenen Zielverzeichnisses schreiben.

Die Variante dieses Angriffs mit Symlinks ist besonders hinterhältig. Ein Angreifer erstellt ein Archiv, das einen Symlink-Eintrag enthält, der außerhalb des Entpack-Verzeichnisses zeigt, gefolgt von einer regulären Datei mit demselben Namen. Beim Entpacken wird zuerst der Symlink erstellt, der einen Pfad zu einem beliebigen Ort etabliert. Wenn die nachfolgende Datei extrahiert wird, folgt die Anwendung dem Symlink und schreibt Inhalte an den vom Angreifer kontrollierten Zielort.

Dieses Schwachstellenmuster taucht auch in moderner Software weiterhin auf. Im April 2025 wurde eine Zip Slip-Schwachstelle in der beliebten Go-Bibliothek mholt/archiver (CVE-2025-3445) entdeckt, was zeigt, dass trotz jahrelanger Bekanntheit neue Fälle in Legacy- und modernen Codebasen auftreten.

Race Conditions bei Symlinks (TOCTOU)

Race Conditions zwischen Prüfung und Nutzung (TOCTOU) stellen eine weitere bedeutende Kategorie von Symlink-Schwachstellen dar. Diese Angriffe nutzen das Zeitfenster zwischen der Überprüfung der Eigenschaften einer Datei und ihrer tatsächlichen Verwendung aus. Ein Angreifer, der eine legitime Datei während dieses Zeitfensters durch einen Symlink ersetzt, kann die Operation auf ein unbeabsichtigtes Ziel umleiten.

Ein klassisches Beispiel sind privilegierte Programme, die Dateiberechtigungen prüfen, bevor sie Operationen ausführen. Ein böswilliger Benutzer erstellt einen symbolischen Link zu einer Datei, auf die er normalerweise keinen Zugriff hat. Wenn das privilegierte Programm eine Datei mit dem Namen des Symlinks erstellt, erstellt oder modifiziert es tatsächlich die verknüpfte Ziel-Datei, was möglicherweise schädlichen Inhalt in geschützte Bereiche einfügt.

Diese Race Conditions haben in der Praxis erhebliche Auswirkungen. Im Oktober 2025 erlebte AWS eine große Störung aufgrund einer TOCTOU-Race-Condition in seinem DNS-Management-System für DynamoDB, was zu einem landesweiten Service-Ausfall in der Region US-EAST-1 führte. Der Vorfall zeigt, wie Race Conditions selbst in hochentwickelter Infrastruktur auftreten können.

Container-Escapes: Die Isolationsgrenze durchbrechen

Container-Technologien wie Docker und Kubernetes verlassen sich stark auf Linux-Namensräume und Dateisystem-Isolation, um Workloads zu trennen. Symlink-Angriffe haben wiederholt bewiesen, dass sie diese Grenzen durchbrechen können, sodass Angreifer die Container-Isolation verlassen und auf das Host-System zugreifen können.

Die Leckage-Vulnerabilitäten in Containern

Im Januar 2024 kündigte Snyk die Entdeckung von vier kritischen Schwachstellen in Docker und Kubernetes an, die containerfokussierte Symlink-Angriffe veranschaulichen. CVE-2024-21626, die den runC-Container-Laufzeit betrifft, beinhaltete einen Leck von Dateideskriptoren, den Angreifer durch Symlinks ausnutzen konnten, um Zugriff auf das Host-Dateisystem zu erlangen.

Ein bösartiges Container-Image könnte Pfade einrichten, die durch Symlink-Manipulation dem Container-Prozess Zugriff auf das Host-Dateisystem statt auf die isolierte Umgebung gewähren. Dies erlaubte Lese-, Schreib- und möglicherweise Ausführungsrechte auf Host-Ressourcen, abhängig von den Berechtigungen des Lecks.

CVE-2024-23651 zeigte eine Symlink-Race-Condition während des Build-Prozesses von Docker. Durch präzises Timing bei Symlink-Operationen während der Cache-Invaliderung konnten Angreifer sensible Host-Verzeichnisse in das Container-Dateisystem einhängen, was Datenexfiltration oder Privilegieneskalation ermöglichte.

Die 2025er-RunC-Schwachstellen

Im November 2025 wurden drei neue hochkritische Schwachstellen in runC (CVE-2025-31133, CVE-2025-52565 und CVE-2025-52881) veröffentlicht. Diese Schwachstellen betreffen den Umgang von runC mit maskierten Pfaden, Mount-Zielen und Schreibzugriffen auf procfs – alles manipulierbar durch Race Conditions und Symlink-Missbrauch.

Die Schwachstellen nutzen aus, dass runC /dev/null verwendet, um sensible Host-Dateien zu maskieren. Da runC nicht überprüfte, ob /dev/null legitim ist, konnten Angreifer es während der Container-Initialisierung durch einen Symlink austauschen. Dadurch konnten beliebige Host-Pfade in den Container gebunden werden, was Schreibzugriffe auf kritische Orte wie /proc/sys/kernel/core_pattern ermöglicht – ein bekannter Container-Escape-Vektor.

Die Log-Mount-Bypass-Technik in Kubernetes zeigt diese Risiken ebenfalls. Kubernetes speichert Pod-Logs in /var/log, wobei Symlinks auf Log-Dateien der Container zeigen. Angreifer mit Zugriff auf einen Pod, der auf /var/log gemountet ist, können diese Symlinks manipulieren, um beliebige Host-Dateien durch die Kubernetes-Log-Schnittstelle zu lesen, was zeigt, wie legitime Funktionen missbraucht werden können.

Privilegieneskalation auf Desktop-Systemen

Neben Containern bleiben Symlink-Angriffe eine potente Technik zur Privilegieneskalation auf herkömmlichen Windows- und Linux-Systemen.

Privilegieneskalation unter Windows

Windows bietet mehrere Symlink-Typen, die Angreifer für Privilegieneskalation kombinieren können: NTFS-Junctions (Verzeichnisumleitungen), Objekt-Manager-Symlinks und Registry-Schlüssel-Symlinks. Forschungen von James Forshaw und anderen haben gezeigt, wie diese Primitiven für mächtige Angriffe gegen privilegierte Prozesse genutzt werden.

CVE-2019-1161, eine Schwachstelle in Windows Defender, ist ein Beispiel. Der Prozess MpSigStub.exe, der mit SYSTEM-Rechten läuft, konnte durch Objekt-Manager-Symlinks manipuliert werden, um beliebige Dateien zu löschen. Ein Angreifer erstellte Symlinks, die Defender’s Dateioperationen auf geschützte Systemorte umleiteten, was die beliebige Dateilöschung mit höchsten Rechten ermöglichte.

Microsoft hat Schutzmaßnahmen implementiert, darunter die Einschränkung, dass sandboxed Prozesse bestimmte Symlink-Typen nicht erstellen dürfen, sowie Verifikationsprüfungen. Doch die Offenlegung von CVE-2025-55696 im Oktober 2025 – eine TOCTOU-Race in NtQueryInformationToken – zeigt, dass der Windows-Kernel weiterhin anfällig für race-basierte Angriffe ist, die zu Privilegieneskalation führen können.

Schwachstellen in Linux und Unix

Linux-Systeme sind besonders bei Symlink-Angriffen in world-writable Verzeichnissen wie /tmp betroffen. Die “Nimbuspwn”-Schwachstellen (CVE-2022-29799 und CVE-2022-29800), die im systemd-Component networkd-dispatcher entdeckt wurden, kombinierten Directory Traversal mit Symlink-Races, um Root-Privilegien zu erlangen.

Kernel-Entwickler haben Schutzmaßnahmen für Sticky-Verzeichnisse (wie /tmp) implementiert, die das Folgen von Symlinks einschränken, sodass nur Symlinks, die vom Eigentümer des Verzeichnisses oder des Ziel-Symlinks stammen, gefolgt werden können. Diese Schutzmaßnahmen greifen jedoch nicht in allen Szenarien, und weiterhin werden anfällige Anwendungen entdeckt.

Apple-Ökosystem: TCC-Umgehung durch Symlinks

Im Dezember 2024 veröffentlichte Jamf Threat Labs CVE-2024-44131, das zeigt, wie Symlink-Angriffe die Transparenz-, Einwilligungs- und Steuerungs-Frameworks (TCC) von Apple auf iOS und macOS umgehen können. Die Schwachstelle lag im FileProvider-Component, das bösartige Apps befähigte, Nutzerdateioperationen abzufangen und durch Symlinks umzuleiten.

Wenn ein Nutzer Dateien mit der Files-App verschob oder kopierte, konnte eine Hintergrund-App durch Manipulation von Symlinks die Operation umleiten und unbefugten Zugriff auf geschützte Daten wie Gesundheitsinformationen, Fotos sowie Kamera- oder Mikrofonzugriff erlangen – alles ohne Nutzeraufforderung. Apple adressierte das Problem mit verbesserten Symlink-Validierungen in iOS 18 und macOS Sequoia 15.

Abwehrstrategien und Gegenmaßnahmen

Der Schutz vor Symlink-Angriffen erfordert einen mehrschichtigen Ansatz, der sichere Programmierung, Systemhärtung und Laufzeitüberwachung kombiniert.

Sichere Dateivorgänge

Anwendungen, die Dateivorgänge durchführen, insbesondere mit erhöhten Rechten, sollten mehrere Schutzmaßnahmen implementieren. Die Verwendung des O_NOFOLLOW-Flags beim Öffnen von Dateien verhindert die automatische Auflösung von Symlinks und zwingt Anwendungen, Symlinks explizit zu behandeln. Vor sensiblen Operationen sollten Funktionen wie lstat() genutzt werden, um zu prüfen, ob Pfade Symlinks sind, und deren Ziele validieren.

Bei Archiv-Extraktionen müssen Anwendungen sicherstellen, dass Zielpfade nach der Auflösung keine Symlinks außerhalb des vorgesehenen Verzeichnisses enthalten. Die Funktion filepath.EvalSymlinks in Go und ähnliche Funktionen in anderen Sprachen helfen, den vollständigen Pfad aufzulösen, bevor extrahiert wird. Archive, die Symlinks enthalten, die außerhalb des Zielverzeichnisses zeigen, sollten abgelehnt werden oder Symlinks in Archiven ganz übersprungen werden.

Race-Condition-Gegenmaßnahmen

Um TOCTOU-Schwachstellen zu eliminieren, sind atomare Operationen erforderlich, die Überprüfung und Nutzung von Ressourcen ohne angreifbares Zeitfenster kombinieren. Das Erstellen temporärer Dateien mit O_CREAT|O_EXCL sorgt für eine atomare Erstellung, die fehlschlägt, wenn die Datei bereits existiert, und verhindert so den Symlink-Austausch. Die Funktion mkstemp() bietet eine sichere temporäre Dateierstellung ohne vorhersehbare Namen.

Dateisperren mit APIs wie LockFileEx unter Windows helfen, Manipulationen während kritischer Operationen zu verhindern, schützen jedoch nicht vor allen Angriffsszenarien. Wo möglich, sollte die Arbeit mit Dateideskriptoren anstelle von Pfaden erfolgen, um sicherzustellen, dass die Anwendung mit der ursprünglich geöffneten Ressource arbeitet, unabhängig von Pfadänderungen.

Systemweite Schutzmaßnahmen

Betriebssysteme bieten verschiedene Schutzmechanismen gegen Symlinks, die Administratoren aktivieren sollten. Linux’s sysctl-Einstellung fs.protected_symlinks beschränkt das Folgen von Symlinks in Sticky-Verzeichnissen. Windows Defender Credential Guard und Anwendungs-Whitelisting können verhindern, dass untrusted Code in Umgebungen läuft, in denen Symlink-Angriffe wirksam wären.

In Container-Umgebungen sorgt die Aktivierung von User Namespaces ohne Mapping des Host-Root-Benutzers dafür, dass Namespaced-Benutzer keinen Zugriff auf relevante Host-Dateien haben. Rootless-Container verringern das Schadenspotenzial bei Container-Exits erheblich, da sie Root-Rechte vollständig eliminieren. Die Durchsetzung von Pod Security Standards, die Anwendung von seccomp-Profilen sowie die Implementierung von AppArmor- oder SELinux-Richtlinien minimieren die Angriffsmöglichkeiten auf Systemaufrufe und Dateisysteme.

Überwachung und Erkennung

Sicherheitsteams sollten verdächtige Muster bei der Erstellung von Symlinks überwachen, insbesondere in sensiblen Verzeichnissen oder von unprivilegierten Prozessen, die privilegierte Orte anvisieren. EDR-Lösungen können schnelle Symlink-Erstellungen, ungewöhnliche Mount-Aktivitäten und unerwartete Schreiboperationen auf /proc oder andere kritische Orte erkennen.

Laufzeit-Sicherheitstools wie Falco können Container-Escape-Versuche erkennen, indem sie die Erstellung von Symlinks überwachen, die auf sensible Host-Verzeichnisse zeigen, insbesondere während der Container-Initialisierung. Die Korrelation dieser Ereignisse mit Prozessverhalten hilft, legitime Operationen von Angriffen zu unterscheiden.

Fazit

Symlink-Angriffe nehmen eine einzigartige Position in der Sicherheitslandschaft ein – sie nutzen grundlegende Betriebssystemfunktionen aus, anstatt Fehler in der Implementierung auszunutzen, was sie inhärent schwer zu eliminieren macht. Die anhaltende Flut von CVEs, die alles von Container-Runtimes bis hin zu mobilen Betriebssystemen betreffen, zeigt, dass selbst hochentwickelte Entwicklungsteams Schwierigkeiten haben, Symlinks sicher zu handhaben.

Für Organisationen bedeutet der Weg nach vorn, Symlinks als eine anhaltende Bedrohung anzuerkennen, die kontinuierliche Aufmerksamkeit erfordert. Das umfasst die Implementierung sicherer Programmierpraktiken in eigenen Anwendungen, das Aktualisieren von Container-Runtimes und Systemkomponenten, das Aktivieren verfügbarer Betriebssystemschutzmaßnahmen sowie die Überwachung von Dateisystemoperationen, die auf eine Ausnutzung hindeuten könnten.

Mit der Verbreitung cloud-nativer Architekturen und der zunehmenden Nutzung von Containern wächst die Angriffsfläche für symlink-basierte Exploits weiter. Die Laufzeitschicht, die Container-Isolation bietet, wird zu einem einzelnen Schwachstellenpunkt, an dem Symlink-Manipulation die Grenze zwischen isolierten Workloads und der zugrunde liegenden Infrastruktur durchbrechen kann. Das Verständnis dieser Angriffe und die Umsetzung umfassender Verteidigungsmaßnahmen sind keine Option mehr – sie sind essenziell, um die Integrität moderner Computing-Umgebungen zu wahren.

Continue from this article into the most relevant product guides and workflows.

Related Topics

#symlink attacks, symbolic link vulnerability, symlink race condition, symlink privilege escalation, file upload symlink exploit, symlink container escape, symlink race attack, symlink exploitation, symlink vulnerability 2025, symlink bypass, symlink file overwrite, linux symlink attack, symlink security, symlink exploitation tutorial, symlink mitigation, symlink detection, symbolic link abuse, symlink privilege escalation linux, file operation race condition, symlink race exploit, symlink attack example, symlink race example, symlink race prevention, symlink exploitation CVE, symlink file disclosure, symlink directory traversal, zip symlink extraction, tar symlink vulnerability, container symlink exploit, docker symlink attack, kubernetes symlink vulnerability, symlink to root, symlink privilege escalation example, symlink security misconfiguration, symlink file replacement, symlink unsafe extraction, symlink upload bypass, symlink web server exploit, symlink directory escape, symlink hard link confusion, symlink permissions flaw, symlink access control bypass, symlink temporal vulnerability, symlink race mitigation, symlink vulnerability testing, secure file extraction, symlink safe file handling, symlink monitoring, symlink race defense, symlink file operation hijacking, symlink privilege abuse, symlink write outside directory, symlink symbolic link exploit

Keep building with InstaTunnel

Read the docs for implementation details or compare plans before you ship.

Share this article

More InstaTunnel Insights

Discover more tutorials, tips, and updates to help you build better with localhost tunneling.

Browse All Articles