📚 TeamSpeak Server sendCommandLowPacket Pufferüberlauf
💡 Newskategorie: Sicherheitslücken
🔗 Quelle: vuldb.com
Eine kritische Schwachstelle wurde in TeamSpeak Server - die betroffene Version ist nicht genau spezifiziert - entdeckt. Es geht hierbei um die Funktion VirtualServerBase::sendCommandLowPacket
. Mittels Manipulieren mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle (Use-After-Free) ausgenutzt werden. Dies wirkt sich aus auf Vertraulichkeit, Integrität und Verfügbarkeit.
Die Schwachstelle wurde am 12.08.2016 durch Hanz Jenson in Form eines ungeprüften Mailinglist Posts (Full-Disclosure) veröffentlicht. Auf seclists.org kann das Advisory eingesehen werden. Die Herausgabe geschah hierbei ohne Zusammenarbeit mit dem Hersteller. Die Ausnutzbarkeit ist als leicht bekannt. Der Angriff kann über das Netzwerk passieren. Das Ausnutzen erfordert keine spezifische Authentisierung. Es sind sowohl technische Details als auch ein privater Exploit zur Schwachstelle bekannt. Als Preis für einen Exploit ist zur Zeit ungefähr mit USD $2k-$5k zu rechnen. Der folgende Code ist für dieses Problem verantwortlich:
0x49d26d: call _pthread_mutex_unlock mov rdi, client ; this will mov rax, [rdi+0F0h] call Client::getTransmissionReceiveBase(void) mov rcx, [rax] mov rdx, [rbx+VirtualServer.vsb.vserv_id] mov rdi, rax mov rsi, r14 call qword ptr [rcx+58h]Das Advisory weist darauf hin:
As we can see, the mutex is unlocked and then a TransmissionReceiveBase struct is taken out of the Client. Then its vtable is used for a call. Looking at the kernel source we see that, at least on Linux, _pthread_mutex_unlock will swap out the current thread if there's another thread blocked waiting for the mutex. This other thread could then free the Client and place controlled data on top of the freed block. When the first thread runs again, we control the TransmissionReceiveBase object completely. The indirect call through its vtable allows us to get $pc.
Es sind keine Informationen bezüglich Gegenmassnahmen bekannt. Der Einsatz eines alternativen Produkts bietet sich im Zweifelsfall an.
Die Einträge 90867, 90868, 90869 und 90870 sind sehr ähnlich.
CVSSv3
Base Score: 7.3 [?]Temp Score: 7.1 [?]
Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L/E:X/RL:U/RC:R [?]
Zuverlässigkeit: High
CVSSv2
Base Score: 7.5 (CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P) [?]Temp Score: 7.1 (CVSS2#E:ND/RL:U/RC:UR) [?]
Zuverlässigkeit: High
CPE
Exploiting
Klasse: PufferüberlaufLokal: Nein
Remote: Ja
Verfügbarkeit: Ja
Zugang: Privat
Aktuelle Preisschätzung: $0-$1k (0-day) / $0-$1k (Heute)
Gegenmassnahmen
Empfehlung: keine Massnahme bekanntStatus: Nicht verfügbar
0-Day Time: 0 Tage seit gefunden
Timeline
12.08.2016 Advisory veröffentlicht19.08.2016 VulDB Eintrag erstellt
19.08.2016 VulDB letzte Aktualisierung
Quellen
Advisory: seclists.orgPerson: Hanz Jenson
Status: Ungeprüft
Siehe auch: 90867, 90868, 90869, 90870, 90871, 90872, 90873, 90874, 90875
Eintrag
Erstellt: 19.08.2016Eintrag: 75.3% komplett
...