CVE-2023-42456
sudo-rs Sitzungsdatei Relative Pfad-Traversal-Schwachstelle
- Veröffentlicht
- 21.09.2023
- Aktualisiert
- 10.06.2026
- CNA zuweisen
- GitHub_M
- Beweise beobachtet
- 08.08.2026
Primäres CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:HNiedrig · nächste 30 Tage
- Perzentil
- 45,7 %
- Modelldatum
- 21.09.2026
EPSS ist eine statistische Schätzung, keine Gewissheit oder ein Maß für die Auswirkung. Kombinieren Sie es mit CVSS, KEV-Status, Belichtung und Ihrer Umgebung.
Zusammenfassung
# Sudo-rs: Pfad-Traversal-Schwachstelle in Sitzungsdateien Sudo-rs, eine speichersichere Implementierung von sudo und su, ermöglicht es Benutzern, nicht bei jedem sudo-Versuch eine Authentifizierung eingeben zu müssen, sondern nur in regelmäßigen Abständen in jedem Terminal oder jeder Prozessgruppe. Erst nach Ablauf eines konfigurierbaren Timeouts muss sich der Benutzer erneut authentifizieren. Diese Funktionalität wird durch eine Reihe von Sitzungsdateien (Zeitstempel) für jeden Benutzer unterstützt, die in `/var/run/sudo-rs/ts` gespeichert sind. Diese Dateien werden nach dem Benutzernamen benannt, von dem aus der sudo-Versuch durchgeführt wird (der Ursprungsbenutzer). In Versionen vor 0.2.1 wurde ein Problem entdeckt, bei dem Benutzernamen, die die Zeichen `.` und `/` enthalten, zur Beschädigung bestimmter Dateien im Dateisystem führen konnten. Da Benutzernamen im Allgemeinen nicht durch die Zeichen, die sie enthalten dürfen, eingeschränkt sind, kann ein Benutzername konstruiert werden, der wie ein relativer Pfad aussieht. Beispielsweise könnte ein Benutzer mit dem Benutzernamen `../../../../bin/cp` zum System hinzugefügt werden. Wenn man als Benutzer mit diesem Namen angemeldet ist, könnte dieser Benutzer `sudo -K` ausführen, um seine Sitzungsdatensatzdatei zu löschen. Der Sitzungscode konstruiert dann den Pfad zur Sitzungsdatei, indem er den Benutzernamen mit dem Speicherverzeichnis für Sitzungsdateien verkettet, was zu einem aufgelösten Pfad von `/bin/cp` führt. Der Code löscht dann diese Datei, wodurch die `cp`-Binärdatei effektiv vom System entfernt wird. Ein Angreifer muss in der Lage sein, sich als Benutzer mit einem konstruierten Benutzernamen anzumelden. Da ein solcher Benutzername auf einem bestehenden System wahrscheinlich nicht existiert, muss er auch in der Lage sein, die Benutzer mit den konstruierten Benutzernamen zu erstellen. Das Problem ist in Version 0.2.1 von sudo-rs behoben. Sudo-rs verwendet nun die UID für den Benutzer anstelle seines Benutzernamens zur Bestimmung des Dateinamens. Beachten Sie, dass ein Upgrade auf diese Version dazu führt, dass vorhandene Sitzungsdateien ignoriert werden und Benutzer gezwungen sind, sich erneut zu authentifizieren. Es eliminiert auch vollständig jede Möglichkeit von Pfad-Traversal, da UIDs immer ganzzahlige Werte sind. Die Befehle `sudo -K` und `sudo -k` können ausgeführt werden, auch wenn ein Benutzer keinen sudo-Zugriff hat. Als Workaround sollte sichergestellt werden, dass das System keine Benutzer mit einem speziell konstruierten Benutzernamen enthält. Solange dies der Fall ist und nicht vertrauenswürdige Benutzer nicht die Möglichkeit haben, beliebige Benutzer auf dem System zu erstellen, sollte man dieses Problem nicht ausnutzen können.
Verantwortungsvoller Umgang
Verwenden Sie Schwachstelleninformationen nur auf Systemen, die Sie besitzen oder zu deren Testen Sie berechtigt sind. Kitploit verlinkt auf öffentliche Forschungsmetadaten und speichert keinen Exploit-Code oder bösartige Payloads.