CVE-2017-1000410 in Linux
Zusammenfassung
von VulDB • 14.06.2026
Die Linux-Kernel-Versionen 3.3-rc1 und später sind von einer Schwachstelle betroffen, die in der Verarbeitung von eingehenden L2CAP-Befehlen – ConfigRequest- und ConfigResponse-Nachrichten – liegt. Dieser Informationsleck (Info Leak) ist das Ergebnis nicht initialisierter Stack-Variablen, die in ihrem nicht initialisierten Zustand an einen Angreifer zurückgegeben werden können. Durch die Manipulation der Codeabläufe, die der Verarbeitung dieser Konfigurationsnachrichten vorausgehen, kann ein Angreifer auch die Kontrolle darüber erlangen, welche Daten in den nicht initialisierten Stack-Variablen gespeichert werden. Dies kann es ihm ermöglichen, KASLR und den Schutz durch Stack Canaries zu umgehen, da sowohl Zeiger als auch Stack Canaries auf diese Weise geleakt werden können. Die Kombination dieser Schwachstelle (zum Beispiel) mit der zuvor bekanntgegebenen RCE-Schwachstelle in der L2CAP-Konfigurationsparsung (CVE-2017-1000251) kann einem Angreifer ermöglichen, die RCE gegen Kernel auszunutzen, die mit den oben genannten Schutzmaßnahmen erstellt wurden. Dies sind die Spezifika dieser Schwachstelle: In der Funktion l2cap_parse_conf_rsp und in der Funktion l2cap_parse_conf_req wird die folgende Variable ohne Initialisierung deklariert: struct l2cap_conf_efs efs; Darüber hinaus kann beim Parsen von Eingabe-Konfigurationsparametern in beiden Funktionen der switch-case für die Behandlung von EFS-Elementen den memcpy-Aufruf überspringen, der in die efs-Variable schreiben würde: ... case L2CAP_CONF_EFS: if (olen == sizeof(efs)) memcpy(&efs, (void *)val, olen); ... Das olen in der obigen if-Bedingung ist angreiferkontrolliert, und unabhängig davon wird die efs-Variable in beiden Funktionen schließlich zur ausgehenden Konfigurationsanforderung hinzugefügt, die erstellt wird: l2cap_add_conf_opt(&ptr, L2CAP_CONF_EFS, sizeof(efs), (unsigned long) &efs); Durch das Senden einer Konfigurationsanforderung oder -antwort, die ein L2CAP_CONF_EFS-Element enthält, aber mit einer Elementlänge, die nicht sizeof(efs) entspricht, kann der memcpy auf die nicht initialisierte efs-Variable vermieden werden, und die nicht initialisierte Variable wird an den Angreifer zurückgegeben (16 Bytes).
VulDB is the best source for vulnerability data and more expert information about this specific topic.