CWE-Referenz › CWE-558: Use of getlogin() in Multithreaded Application
CWE-558: Use of getlogin() in Multithreaded Application
CWE ID: 558
Name: Use of getlogin() in Multithreaded Application
Beschreibung
Das Produkt verwendet die Funktion getlogin() in einem multithreaded Kontext, was potenziell dazu führen kann, dass falsche Werte zurückgegeben werden.
Erweiterte Beschreibung
Die Funktion getlogin() gibt einen Pointer auf einen String zurück, der den Namen des Benutzers enthält, der mit dem aufrufenden Prozess assoziiert ist. Die Funktion ist nicht reentrant, was bedeutet, dass bei Aufrufen aus einem anderen Prozess die Inhalte nicht gesperrt werden und der Wert des Strings durch einen anderen Prozess verändert werden kann. Dies macht die Verwendung sehr riskant, da der Benutzername von anderen Prozessen geändert werden kann, wodurch die Zuverlässigkeit der Funktion in Frage gestellt wird.
Risikominderungsmaßnahmen
Maßnahme (Architecture and Design)
Effektivität: Unknown
Beschreibung: Die Verwendung von Namen für Sicherheitszwecke wird nicht empfohlen. Namen sind leicht zu fälschen und können überlappende User IDs aufweisen, was zu Verwirrung oder Identitätsdiebstahl führen kann.
Maßnahme (Implementation)
Effektivität: Unknown
Beschreibung: Verwenden Sie stattdessen getlogin_r(), welches reentrant ist, was bedeutet, dass andere Prozesse daran gehindert werden, den Benutzernamen zu ändern.
Verwandte Schwachstellen
Ist Ihre IT-Infrastruktur betroffen?
Schwachstellen wie CWE-558: Use of getlogin() in Multithreaded Application werden von Angreifern gezielt gesucht — meist automatisiert und ohne Rücksicht darauf, wie groß das betroffene Unternehmen ist. Ob eine solche Lücke bei Ihnen tatsächlich offen steht, lässt sich nur durch Prüfung feststellen:
- Schwachstellen-Scan — wiederkehrende Prüfung Ihrer Infrastruktur auf bekannte Lücken wie diese
- Penetrationstest — manuelle Prüfung eigener Software auf Schwachstellen, die kein Werkzeug findet
- Threat Modeling — Schwachstellenklassen im Entwurf vermeiden, statt sie später zu suchen