ClickCease CVE-2021-45078 identifiziert von TuxCare | tuxcare.com

Abonnieren Sie unseren beliebten Newsletter

Schließen Sie sich 4.500+ Linux- und Open-Source-Experten an!

2x im Monat. Kein Spam.

CVE-2021-45078 identifiziert durch das Extended Lifecycle Support Team von TuxCare

27. Dezember 2021. TuxCare PR Team

Während der Rückportierung von Korrekturen für das binutils-Paket für ältere Linux-Distributionen, die vom Extended Lifecycle Support abgedeckt werden, identifizierte das Team eine Schwachstelle in der Art und Weise, wie CVE-2018-12699 ursprünglich adressiert wurde. Diese neue Schwachstelle ermöglicht eine Beschädigung des Speichers und eine Dienstverweigerung unter bestimmten Bedingungen der binutils-Funktionalität, die wiederum von mehreren anderen Paketen verwendet wird.

 

Die ursprüngliche Schwachstelle hatte einen CVSS (v3)-Wert von 9,8, und die neu identifizierte Schwachstelle wurde mit einem CVSS (v3)-Wert von 7,5 bewertet. Das neueste Update von binutils, das für Service-Abonnenten zur Verfügung steht, enthält bereits eine angemessene Korrektur für das zugrunde liegende Problem, und der Code wurde im Upstream-Open-Source-Projekt nach unserem Bericht korrigiert.

 

 

EINEN ÜBERBLICK ÜBER DAS RISIKO AUF HOHER EBENE

Es ist möglich, dass bestimmte binutils-Werkzeuge aufgrund der unsachgemäßen Behandlung bestimmter Arten von Informationen abstürzen. Dies wiederum kann zu Fehlern in anderen Werkzeugen oder Anwendungen führen, die für ihren Betrieb auf binutils angewiesen sind, wie Debugger, Dateibetrachter usw.

 

Binutils enthält Funktionen zur Analyse verschiedener Dateitypen, wie z.B. binäre ELF (Linux binary executable files) und Dateien, die das Vorgängerformat von ELF, XCOFF, verwenden. Der spezielle Fall, der diese Schwachstelle auslöst, liegt in der XCOFF-Funktionalität. Obwohl es sich hierbei um ein relativ altes Dateiformat handelt, das inzwischen durch ELF ersetzt wurde, ist der Code für die Verarbeitung dieses Formats immer noch im Paket binutils enthalten.

 

binutils ist ein grundlegendes Paket in Linux-Distributionen, und selbst wenn Sie Softwareentwicklungswerkzeuge nicht direkt verwenden, ist es sehr wahrscheinlich, dass es bereits auf Produktionssystemen als Abhängigkeit von anderen Paketen eingesetzt wird. Es enthält mehrere Werkzeuge, um Aufgaben wie die Manipulation von Binärdateien, das Linken, Assemblieren und andere Funktionen auszuführen, die unter anderem in Entwicklungs- und Debugging-Szenarien häufig verwendet werden. Wenn Sie es auf dem neuesten Stand halten, ist gewährleistet, dass diese Anwendungen und Kernfunktionen des Systems stabil und sicher bleiben.

 

EIN DETAILLIERTER BLICK AUF DIE THEMEN

 

In der Funktion stab_xcoff_builtin_type, die in der Datei binutils/stab.c zu finden ist, kommt es zu einem Out-of-Bounds-Schreiben in das Array 'info-xcoff_types', wenn ein bestimmtes Typenum übergeben wird (-34). Dies führt dazu, dass der Schreibvorgang das angrenzende Feld 'info->tags' in Zeile 3668 überschreibt.

 

Dies wiederum führt zu einem Segmentierungsfehler beim Aufruf der Funktion finish_stab.

 

CVE-2021-45078 wurde für das neue Problem angefordert und zugewiesen und erhielt eine CVSS (v3)-Bewertung von 7,5. Da es sich um ein sehr aktuelles Problem handelt, ist es nicht ausgeschlossen, dass sich dieser Wert ändert, wenn die Situation von anderen Entwicklern weiter analysiert wird. Die ursprüngliche CVE-2018-12699, die eine ähnliche Situation an anderer Stelle im Code behandelte und sie in diesem speziellen Code vermisste, erhielt eine Bewertung von 9,8 (von 10), so dass anerkannt wird, dass das Auslösen eines Absturzes von binutils eine sehr ernste Situation ist, die Vorsicht erfordert.

 

"Sie [das Upstream-Projektteam] haben eine riesige Liste von CVEs mit einem einzigen Patch abgedeckt, der alle Situationen hätte adressieren sollen, aber er hat nicht wirklich alle Fälle behoben", erklärt Pavel Mayorov, das Teammitglied, das Korrekturen für binutils zurückportiert und die fehlende Korrektur entdeckt hat. "Der Patch berührt nicht alle Stellen im Quellcode, die so etwas auslösen können". Es ist auch unüblich, dass ein einziger Patch mehrere CVEs abdeckt, und es könnte sein, dass etwas übersehen wurde.

 

Der vollständige Bericht ist hier zu finden und enthält Proof-of-Concept-Code, der das Problem auslöst.

 

Diese Schwachstelle stammt aus einer unvollständigen Korrektur von CVE-2018-12699, bei der einige Fälle, die das Problem auslösen könnten, übersehen wurden. Die gemeldete Situation wurde von anderen Projektentwicklern gelöst, nachdem unser Bericht eingereicht wurde, und daher wird das Problem in Zukunft auf jeder binutils-Version behoben sein. Das Problem wurde auch auf älteren Linux-Distributionen behoben, die nicht mehr vom ursprünglichen Hersteller unterstützt werden, aber von den Extended Lifecycle Support Services abgedeckt werden. Für diese Systeme ist die behobene Version auch über den üblichen Aktualisierungskanal verfügbar.

Möchten Sie das Patchen von Sicherheitslücken ohne Kernel-Neustart, Systemausfallzeiten oder geplante Wartungsfenster automatisieren?

Erfahren Sie mehr über Live-Patching mit TuxCare

Werden Sie ein TuxCare-Gastautor

Los geht's

E-Mail

Beitreten

4,500

Linux & Open Source
Fachleute!

Abonnieren Sie
unseren Newsletter