1.2 CVE-2012-6095
ProFTPD vor 1.3.5rc1, wenn die UserOwner-Direktive verwendet wird, erlaubt es lokalen Benutzern, den Besitz beliebiger Dateien über eine Race-Condition und einen Symlink-Angriff auf die (1) MKD- oder (2) XMKD-Befehle zu ändern.
https://nvd.nist.gov/vuln/detail/CVE-2012-6095
Kategorien
CWE-362 : Gleichzeitige Ausführung mit gemeinsamer Ressource bei unsachgemäßer Synchronisation ('Race Condition')
Das Produkt enthält eine Codesequenz, die gleichzeitig mit anderem Code ausgeführt werden kann, und die Codesequenz erfordert einen vorübergehenden, exklusiven Zugriff auf eine gemeinsam genutzte Ressource, aber es existiert ein Zeitfenster, in dem die gemeinsam genutzte Ressource von einer anderen Codesequenz, die gleichzeitig läuft, geändert werden kann. Black-Box-Methoden können Hinweise auf Race Conditions durch Methoden wie mehrere gleichzeitige Verbindungen erkennen, die die Software instabil machen oder zum Absturz bringen können. Race Conditions mit sehr engen Zeitfenstern können jedoch nicht erkannt werden. Gängige Idiome lassen sich in der White-Box-Analyse aufspüren, wie z. B. Time-of-Check-Time-of-Use (TOCTOU)-Dateioperationen (CWE-367) oder Double-Checked Locking (CWE-609). Verwenden Sie in Sprachen, die dies unterstützen, Synchronisationsprimitive. Wickeln Sie diese nur um kritischen Code, um die Auswirkungen auf die Leistung zu minimieren. Verwenden Sie thread-sichere Funktionen wie die Datenzugriffsabstraktion in Spring. Verwenden Sie bei Multithreading und Operationen mit gemeinsam genutzten Variablen nur thread-sichere Funktionen. Verwenden Sie atomare Operationen auf gemeinsam genutzte Variablen. Seien Sie vorsichtig mit unschuldig aussehenden Konstrukten wie "x++". Dies mag auf der Code-Ebene atomar erscheinen, ist aber auf der Anweisungsebene tatsächlich nicht atomar, da es ein Lesen, gefolgt von einer Berechnung und einem anschließenden Schreiben beinhaltet. Verwenden Sie einen Mutex, falls verfügbar, aber achten Sie darauf, damit verbundene Schwachstellen wie CWE-412 zu vermeiden. Vermeiden Sie doppelt geprüftes Sperren (CWE-609) und andere Implementierungsfehler, die entstehen, wenn Sie versuchen, den Overhead der Synchronisierung zu vermeiden. Deaktivieren Sie Unterbrechungen oder Signale über kritische Teile des Codes, aber stellen Sie auch sicher, dass der Code nicht in eine große oder unendliche Schleife gerät. Verwenden Sie den Modifikator "volatile type" für kritische Variablen, um unerwartete Compiler-Optimierungen oder Umordnungen zu vermeiden. Dies löst nicht unbedingt das Synchronisationsproblem, kann aber hilfreich sein. Führen Sie Ihren Code mit den niedrigsten Rechten aus, die für die Ausführung der notwendigen Aufgaben erforderlich sind [REF-76]. Wenn möglich, erstellen Sie isolierte Konten mit eingeschränkten Rechten, die nur für eine einzige Aufgabe verwendet werden. Auf diese Weise erhält der Angreifer bei einem erfolgreichen Angriff nicht sofort Zugriff auf den Rest der Software oder deren Umgebung. Beispielsweise müssen Datenbankanwendungen nur selten als Datenbankadministrator ausgeführt werden, insbesondere im täglichen Betrieb. Die Go-Anwendung für die Cloud-Verwaltung erstellt eine weltweit beschreibbare sudoers-Datei, die es lokalen Angreifern ermöglicht, sudo-Regeln einzuschleusen und die Privilegien zu root zu erweitern, indem sie eine Race Condition gewinnen. Kette: Unsachgemäßes Sperren (CWE-667) führt zu einer Race Condition (CWE-362), wie sie in freier Wildbahn per CISA KEV ausgenutzt wurde. Kette: Race Condition (CWE-362) für mobile Plattformen führt zu use-after-free (CWE-416), wie in the wild per CISA KEV ausgenutzt. Kette: Wettlaufbedingung (CWE-362) führt zu use-after-free (CWE-416), wie in the wild per CISA KEV ausgenutzt. chain: Die JTAG-Schnittstelle ist während der Ausführung von ROM-Code nicht deaktiviert (CWE-1191), wodurch eine Race Condition (CWE-362) zum Extrahieren von Verschlüsselungsschlüsseln eingeführt wird Kette: Race Condition (CWE-362) im Anti-Malware-Produkt ermöglicht das Löschen von Dateien durch das Erstellen einer Verbindung (CWE-1386) und die Verwendung von Hardlinks während des Zeitfensters, in dem eine temporäre Datei erstellt und gelöscht wird. TOCTOU im Sandbox-Prozess ermöglicht die Installation von nicht vertrauenswürdigen Browser-Add-Ons, indem eine Datei ersetzt wird, nachdem sie verifiziert wurde, aber bevor sie ausgeführt wird Kette: Chipsatz hat eine Race Condition (CWE-362) zwischen dem Zeitpunkt, an dem ein Interrupt-Handler einen Versuch erkennt, das BIOS zu schreiben (unter Verletzung des Lock-Bits), und dem Zeitpunkt, an dem der Handler das Write-Enable-Bit wieder auf 0 zurücksetzt, was es Angreifern ermöglicht, BIOS-Schreibvorgänge während des Zeitfensters durchzuführen [REF-1237]. Wettlaufbedingung, die zu einem Absturz führt, indem eine Hook-Entfernungsprozedur aufgerufen wird, während gleichzeitig andere Aktivitäten stattfinden. chain: time-of-check time-of-use (TOCTOU) Wettlaufbedingung im Programm ermöglicht die Umgehung des Schutzmechanismus, der zur Verhinderung von Symlink-Angriffen gedacht war. chain: time-of-check time-of-use (TOCTOU) Wettlaufbedingung im Programm ermöglicht die Umgehung des Schutzmechanismus, der zur Verhinderung von Symlink-Angriffen gedacht war. Unsynchronisierte Zwischenspeicheroperationen ermöglichen eine Race Condition, die dazu führt, dass Nachrichten an ein freigegebenes Objekt gesendet werden. Wettlaufbedingung während der Initialisierung löst einen Pufferüberlauf aus. Daemon stürzt ab, indem er schnell Operationen durchführt und sie rückgängig macht, was schließlich zu einer Operation führt, die keine Sperre erhält. chain: race condition löst NULL-Zeiger-Dereferenz aus Race condition in Bibliotheksfunktion kann dazu führen, dass Daten an den falschen Prozess gesendet werden. Kette: Wettlaufbedingung im Dateiparser führt zu Heap-Verfälschung. Kette: Wettlaufbedingung ermöglicht Angreifern den Zugriff auf ein Objekt, während es noch initialisiert wird, was dazu führt, dass Software auf nicht initialisierten Speicher zugreift. Kette: Wettlaufbedingung für einen Argumentwert, was möglicherweise zu NULL-Dereferenz führt. Kette: Wettlaufbedingung könnte es ermöglichen, dass eine Ressource freigegeben wird, bevor sie bearbeitet wird, was zu NULL-Dereferenz führt: Signalhandler enthält zu viel Funktionalität (CWE-828), wodurch eine Race Condition (CWE-362) eingeführt wird, die zu einem Double Free (CWE-415) führt.
Referenzen
CPE
cpe | start | ende |
---|---|---|
Configuration 1 | ||
cpe:2.3:a:proftpd:proftpd:1.2.0:*:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.0:pre10:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.0:pre9:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.0:rc1:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.0:rc2:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.0:rc3:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.1:*:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.2:*:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.2:rc1:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.2:rc2:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.2:rc3:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.3:*:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.4:*:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.5:*:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.5:rc1:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.5:rc2:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.5:rc3:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.6:*:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.6:rc1:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.6:rc2:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.7:*:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.7:rc1:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.7:rc2:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.7:rc3:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.8:*:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.8:rc1:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.8:rc2:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.9:*:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.9:rc1:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.9:rc2:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.9:rc3:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.10:*:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.10:rc1:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.10:rc2:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.2.10:rc3:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.0:*:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.0:a:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.0:rc1:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.0:rc2:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.0:rc3:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.0:rc4:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.0:rc5:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.1:*:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.1:rc1:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.1:rc2:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.1:rc3:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.2:*:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.2:a:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.2:b:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.2:c:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.2:d:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.2:e:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.2:rc1:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.2:rc2:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.2:rc3:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.2:rc4:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.3:*:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.3:a:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.3:b:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.3:c:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.3:rc1:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.3:rc2:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.3:rc3:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.3:rc4:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:*:*:*:*:*:*:*:* | <= 1.3.4 | |
cpe:2.3:a:proftpd:proftpd:1.3.4:rc1:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.4:rc2:*:*:*:*:*:* | ||
cpe:2.3:a:proftpd:proftpd:1.3.4:rc3:*:*:*:*:*:* |
REMEDIERUNG
EXPLOITS
Exploit-db.com
id | beschreibung | datum | |
---|---|---|---|
Keine bekannten Exploits |
Andere (github, ...)
Url |
---|
Keine bekannten Exploits |
CAPEC
Common Attack Pattern Enumerations and Classifications
id | beschreibung | schweregrad |
---|---|---|
26 | Ausnutzen der Rennbedingungen |
Hoch |
29 | Leveraging Time-of-Check and Time-of-Use (TOCTOU) Race Conditions |
Hoch |
MITRE
Sherlock® flash
Machen Sie mit wenigen Klicks ein Foto von Ihrem Computernetzwerk !
Mit der Sherlock® flash Audit-Lösung können Sie ein Audit durchführen, um die Sicherheit Ihres Computerbestands zu erhöhen. Scannen Sie Ihre physischen und virtuellen Geräte auf Schwachstellen. Planung von Patches nach Priorität und verfügbarer Zeit. Detaillierte und intuitive Berichte.
