Cisco-Sicherheitsforscher
Die Sicherheitslücke kann ausgenutzt werden, um Code in einer Situation auszuführen, in der der Angreifer die Bildung eines negativen Werts der Variablen organisieren kann, über die die Größe der kopierten Daten übertragen wird (z. B. wird sie negativ, wenn mehr als 2 GB übertragen werden). Daten, aber während des Angriffs müssen Sie mindestens 4 GB übertragen, um die Puffergrenzen zu überschreiten. Die memcpy()-Funktion wird häufig in Anwendungen verwendet, und ARMv7-Prozessoren kommen häufig in Automobilsystemen, Mobil-, Industrie-, Verbraucher-, Kommunikations- und eingebetteten Geräten vor, die potenziell Angriffen über Bluetooth, HD-Radio/DAB, USB, CAN-Bus usw. ausgesetzt sind. WLAN und andere externe Datenquellen (z. B. über das Netzwerk zugängliche Dienste und Anwendungen, die Eingabedaten ohne Größenbeschränkung akzeptieren) können angegriffen werden.
Ein Beispiel ist die Erstellung eines funktionierenden Exploits zum Angriff auf einen in Fahrzeuginformationssysteme integrierten HTTP-Server, auf den über das WLAN-Netzwerk des Fahrzeugs zugegriffen werden kann. Ein externer Angreifer könnte eine Memcpy-Schwachstelle auf diesem Server ausnutzen, indem er eine sehr große GET-Anfrage sendet und sich Root-Zugriff auf das System verschafft.
Auf 32-Bit-x86-Systemen tritt das Problem nicht auf, da die Memcpy-Implementierung für diese Architektur die Größenvariable korrekt als vorzeichenlosen ganzzahligen Wert vom Typ size_t (in Assemblersprache) interpretiert
Der Fix läuft darauf hinaus, die Verwendung von Assembleranweisungen, die mit vorzeichenbehafteten Operanden (bge und blt) arbeiten, durch vorzeichenlose Gegenstücke (blo und bhs) zu ersetzen.
Das Problem ist noch nicht gelöst
Source: opennet.ru