Insecurity Bulletin: Information Disclosure im Linux-Kernel
Bytes aus dem Kern
Mark Vogelsberger
Die Reihe "Insecurity Bulletin" widmet sich Sicherheitsproblemen in Linux und Open-Source-Software. Dabei dienen aktuelle Schwachstellen als Anschauungsmaterial. In dieser Folge geht es um eine Sicherheitslücke im binfmt_misc-Mechanismus des Linux-Kernels.
Mit dem »binfmt_misc«
-Mechanismus erkennt der Linux-Kernel beliebige ausführbare Dateien und übergibt sie dem passenden Userland-Programm. Bei Skripten ist das einfach, denn in der ersten Zeile steht ein Shebang wie »#!/bin/bash«
. Bei Binärdateien verwendet die »binfmt_misc«
-Technik deren erste Bytes als Erkennungsmuster, die so genannte Magic Number.
Die Zuordnung zwischen Muster und Interpreter ist in einer Datenbank auf dem System abgelegt. Unter Linux befindet sie sich standardmäßig in »/proc/sys/fs/binfmt_misc«
im Proc-Dateisystem. Eine nähere Beschreibung ist beispielsweise im Slackware-Wiki nachzulesen [1].
Geklaute Bytes
Eine kürzlich entdeckte Schwachstelle in der Funktion »load_script()«
der Kernel-Quelltextdatei »fs/binfmt_script.c«
erlaubt, dass ein lokaler Angreifer Bereiche des Kernelspeichers auslesen kann [2]. Der Entdecker, ein Hacker mit dem Pseudonym Halfdog, hat auch ein Shellskript als Proof-of-Concept-Exploit veröffentlicht (Listing 1).
[...]
Das Linux-Magazin Online veröffentlicht erstmals alle Print-Artikel,
die in den vergangenen sechs Jahren im Linux-Magazin erschienen sind.
Damit steht Ihnen ein hochwertig bestücktes Archiv bis hin zu den Beiträgen
der aktuellen Ausgabe online zur Verfügung. Die über 1200 Artikel sind
größtenteils kostenlos zugänglich, nur für Beiträge (als PDF) der
jüngsten zehn Linux-Magazine ist eine Gebühr von jeweils 99 Cent fällig.
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.