CVE-2014-1705CVE-2014-1705
kirjeldab turvaauku, mis leiti Google
JavaScript mootoris V8, mida
kasutati Google
Chrome enne versiooni 33.0.1750.152 OS X-il ja
Linuxil ning enne versiooni 33.0.1750.154 Windowsil.
V8
on avatud
allikaga JavaScript mootor, mis on kirjutatud keeles C++ ja
kasutatakse Google Chrome-is. See kasutab ECMAScripti ja töötab
Windows XP-l ja Vistal, Mac OS X 10.5+-il ja
Linux süsteemidel, mis
kasutavad IA-32, ARM või MIPS protsessoreid. V8 võib töötada
iseseisvalt või panna sisse ükskõik
millisele C++ rakendusele.
Turvaauk
CVE-2014-1705 lubab välistel ründajatel lubamatult teavet avaldada,
viia sisse modifikatsioone ja põhjustada
memory corruption -it,
ehk
rakenduse jooksutamisel tekib probleem mäluga ja kui
rakendus kasutab seda rikutud mälu hiljem võib programm kokku joosta või
tekitada muid probleeme. Seda võib ründaja teha, et jooksutada
kokku süsteemi, et kasutaja ei saaks midagi teha, näiteks programmi
kinni panna ja ründaja pääseks selle abil infoni, mis muidu oleks
kaitstud.
See
turvaauk lubab käivitada omavolilist koodi haavatavatel Google
Chrome versioonidel. On vaja kasutaja omapoolset tegevust, et seda
auku ära kasutada, ehk kasutaja peaks käima pahatahtlikul lehel või
avama pahatahtliku faili. Spetsiifiline viga esineb TypedArray
objektide
käsitlemisel . Muutes TypedArray objekti saab ründaja
kirjutada ja lugeda andmeid igal aadressil. Ründaja saab kasutada
seda turvaauku, et käivitada koodi käivas oleva protsessi
kontektsis.
Turvaaugu
murdis lahti George Hotz võistluses
Pwn2Own,
mida sponsoneerib Google ja mis on mõeldud selleks, et häkkerite
kaasabil saaks Chromiumi projekti turvalisust tõsta. Häkkerid
proovivad turvaauke läbida ning
arendajad saavad selle abil neid
parandada. Hotz kirjutas
exploit -i,
mis hõlmas neli erinevat turvaauku ja sai selle eest auhinnaks
$150 000.
Selle
turvaaugu
exploit-i
näidati
Pwn2Own
võistlusel, aga avalikkusele ei ole seda näidatud. Google ei taha
infot anda avalikkusele, et tulevikus
kellegil ei tekis nende põhjal
uusi ideid, kuidas Chrome’i sisse häkkida.
Patch lasti välja selle ja veel kuue teise turvaaugu parandamiseks
14. märts 2014. Debianile tuli välja 23-ndal ja openSUSE-le 9-ndal
aprillil .
Siin
on kood, mida sai exploitida.
//
Copyright 2014 the V8
project authors. All
rights reserved.
//
Use of this source
code is governed by a BSD-style license that can
be
//
found in the LICENSE file.
//
Flags: --
allow -natives-syntax
var
ab1 = new ArrayBuffer(8);
ab1.__defineGetter__("byteLength",
function ());
var
ab2 = ab1.
slice (800000, 900000);
var
array = new Uint8Array(ab2);
for
(var i = 0; i array .
length ; i++));
var
aaa = new DataView(ab3);
for
(var i = 10; i aaa.setInt8(i,
0xcc);
assertEquals(8,
aaa.byteLength);
var
a = new Int8Array(4);
a.__defineGetter__("length",
function());
var
b = new Int8Array(a);
for
(var i = 0; i assertEquals(0,
b[i]);
var
ab4 = new ArrayBuffer(8);
ab4.__defineGetter__("byteLength",
function());
var
aaaa = new Uint32Array(ab4);
for
(var i = 10; i aaaa[i]
= 0xcccccccc;
assertEquals(2,
aaaa.length);
Viited
Turvaauk Mitre CVE andmebaasis
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-1705
Google V8
https://developers.google.com/v8/
Memory corruption
http://www.wisegeek.com/what-is-memory-corruption.ht m
George Hotz-i võit võistluses Pwnium
http://news.softpedia.com/news/Google-Addresses-Chrome-OS-Vulnerabilities-Presented-at-Pwnium-2014-432533.shtml
Patch kõikidele süsteemidele
http://googlechromereleases.blogspot.com/2014/03/stable-channel-update-for-chrome-os_14.html
ZDI kirjeldus turvaaugule
http://www.zerodayinitiative.com/advisories/ZDI-14-088/
Kood
https://code.google.com/p/v8/source/browse/branches/3.24/test/mjsunit/regress/regress-crbug-351787.js
Kõik kommentaarid