Het Amerikaanse Computer Emergency Response Team, of kortweg CERT, maakte onlangs melding van een kritieke fout in Intel processors. Het ontdekte begin mei een kwetsbaarheid in de uitvoering van AMD's x86-64-instructieset, die Intel ook in zijn chips implementeert. De bug leek in eerste instantie voorbehouden aan Linux, maar inmiddels is gebleken dat deze potentieel ook op andere platforms, zoals Windows, BSD en OSX, misbruikt kan worden.
Toen AMD zijn x86-64-instructieset in elkaar zette, beperkte het de aanspreekbare hoeveelheid geheugenruimte tot 48-bits waarmee de bits 49 tot en met 64 ongebruikt bleven. Om misbruik van deze onbenutte ruimte te voorkomen, vereisen AMD processors zogenoemde canonical geheugenadressen, waarbij de ongebruikte bits van dezelfde waarden voorzien worden. Zodra geprobeerd wordt toegang te krijgen tot dit soort addressen, geeft de processor nul op rekest.
Intel handelt de taak echter ietwat anders af. Intel chips controleren namelijk op een andere locatie in het proces op canonical adressen, waardoor een kwaadwillende de ruimte heeft om speciale code na de foutmelding uit te voeren. Het proces wordt vervolgens op kernelniveau doorverwezen naar de zojuist gecreëerde, geïnfecteerde ruimte waar kwaadaardige code uitgevoerd kan worden. Een patch is al gemaakt en uitgerold via Windows Update, terwijl ook partijen als Intel, Oracle, Citrix, FreeBSD, NetBSD, Oracle, SUSE, Xen, Red Hat en Joyent een fix hebben klaarstaan voor de eindgebruiker.
Meer details kun je vinden op deze pagina bij CERT.
Intels implementatie van de canonical adressen maakte het tot voor kort mogelijk kwaadwillende programmacode buiten de reguliere adresruimte uit te voeren
Afbeeldingen via Wikipedia
Bron: TheVerge