Eine Sicherheitslücke in der glibc-Bibliothek hat zur Folge, dass ein lokaler Angreifer an höhere Rechte gelangen kann. Die Attacke kann auch gegen Setuid-Applikationen durchgeführt werden, so dass der Angreifer damit Root-Rechte erhält.
Das Problem entsteht, weil sich das Verhalten der Kernel-Funktion getcwd() in Version 2.6.36 des Kernels geändert hat. Diese Funktion liefert einen String zurück, der das aktuelle Arbeitsverzeichnis enthält. Die Änderung des Verhaltens dieser Funition wurde allerdings nicht in der glibc-Bibliothek beachtet, so dass ein Angreifer nun eine daraus resultierende Buffer-Underflow-Lücke in der __realpath()-Funktion ausnutzen kann (stdlib/canonicalize.c-Datei). Diese Funktion basiert auf getcwd() und wurde in der Bibliothek nicht korrekt angepasst. Die in Version 2.6.36 eingeführte Änderung des getcwd()-Verhaltens führt dazu, dass unter bestimmten Umständen der von getcwd() zurückgelieferte Pfad einen String am Anfang enthält. Dies berücksichtigt die realpath()-Funktion der glibc-Bibliothek nicht wodurch es zu der Sicherheitslücke kommt.
