Een Chrome OS-ontwikkelaar heeft twaalf lekken in de Linux-kernel gevonden. Via een van de lekken is met een usb-apparaat geheugencorruptie te veroorzaken, wat het uitvoeren van kwaadaardige code mogelijk maakt. Beveiligingsonderzoeker Cook heeft een patch klaarstaan.
Kees Cook, een ontwikkelaar van Google Chrome OS, heeft twaalf kwetsbaarheden gevonden in hoe Linux omgaat met hid's. Hij deed deze ontdekking door met usb-apparaten te experimenteren. Het ergste lek dat Cook ontdekt heeft, kan geheugencorruptie veroorzaken en stelt een aanvaller in staat om kwaadaardige code uit te voeren.
Zodra een gebruiker een hid-device via usb op het systeem aansluit, stuurt het apparaat berichten naar de kernel van het besturingssysteem. De kernel beperkt het aantal datavelden dat in deze gebeurtenissen voor mag komen tot 256. Een apparaat dat een report id met meer dan 255 entries stuurt, veroorzaakt een segmentation fault in Linux.
Cook ontdekte de fouten terwijl hij bezig was met een eigen project, zijn Facedancer-board. Dit testbordje, dat aangestuurd wordt door een Python-script, stuurt in realtime usb-commando's naar een systeem. Hiermee kan het board data wegschrijven naar het geheugen van het systeem waarop het is aangesloten, mits dat systeem Linux draait. De aanval is ook mogelijk met een Teensy-board die dezelfde functies heeft als Cooks Facedance-board, maar slechts de grootte heeft van een usb-stick.
Volgens Cook zijn Debian Wheezy en Red Hat, zowel Fedora 19 als Enterprise Linux 6, vatbaar voor het lek. De Fedora- en Debian-ontwikkelaars werken aan een patch. Canonical is nog aan het onderzoeken of Ubuntu vatbaar is. Overigens heeft Cook al zijn eigen patch uitgebracht.