CH azonosító
CH-4370Angol cím
VMware ESX Server Multiple Kernel VulnerabilitiesFelfedezés dátuma
2011.02.10.Súlyosság
AlacsonyÖsszefoglaló
A VMware ESX Server több sérülékenységét jelentették, amelyet kihasználva helyi felhasználók szolgáltatás megtagadást (DoS – Denial of Service) okozhatnak, megkerülhetnek bizonyos biztonsági szabályokat, bizalmas információkat gyűjthetnek, DNS poisoning támadást indíthatnak, emelt szintű jogosultságokat szerezhetnek, valamint a támadók szolgáltatás megtagadást (DoS – Denial of Service) okozhatnak.
Leírás
- Sérülékenységet okoz, hogy nem megfelelő a hozzáférés ellenőrzés az “EXT4_IOC_MOVE_EXT” IOCTL feldolgozás közben, amelyet kihasználva állományokat írhatóak felül root jogosultsággal, ha egy speciálisan elkészített IOCTL-t küldenek a szervernek.
- Az fs/ext4/super.c fájlban lévő “ext4_fill_flex_info()” függvény egy hibáját kihasználva, nullával való osztást lehet előidézni, egy speciálisan elkészített fájlrendszer felcsatolásakot (mount).
- Az fs/ext4/super.c-ben lévő “ext4_decode_error()” függvény egy hibáját kihasználva, NULL mutató hivatkozás feloldási hibát lehet előidézni, egy speciálisan elkészített fájlrendszer felcsatolásakot (mount).
- Egy sérülékenység forrása az, hogy a net/bridge/netfilter/ebtables.c-ben található “do_ebt_set_ctl()” és “do_ebt_get_ctl()” függvények nem megfelelően korlátozzák a “CAP_NET_ADMIN” jogosultsággal rendelkező felhasználók hozzáférését, amelyet kihasználva módosítani lehet az ebtables szabályokat, a megfelelő hozzáférési jogok nélkül.
- Több sérülékenységet találtak a “do_mremap()” függvényben és a hozzá tartozó “MREMAP_FIXED”-ben, amelyeket kihasználva a rendszer összeomlását lehet előidézni, különböző architektúrákon.
- Egy sérülékenységet találtak a drivers/connector/connector.c notification kódjában, amelyet kihasználva out-of-memory állapotot lehet előidézni.
- A sérülékenység a processz környezetének beállításakor történik, és a rendszer összeomlásához vezethet, ha pl. egy 32 bites alkalmazásból meghívnak egy 64 bitest, hiányzik az ELF interpreter, ez pedig segmentation fault-hoz vezet. A hiba sikeres kihasználásához szükséges, hogy 64 bites rendszer és a core dump engedélyezve legyen.
- A KVM x86 kód emuláció nem megfelelően ellenőrzi a CPL és IOPL jogosultságokat, amelyet kihasználva, tetszőleges kódot futtatható emelt szintű jogosultsággal.
- A KVM nem megfelelően ellenőrzi a jogosultságokat, amikor betölti a szegmens szelektorokat, amelyet kihasználva egy rosszindulatú userspace processz, ami a guest VM-ben fut, ráveheti az emulátort, hogy tetszőleges kernel szegmenseket töltsön be. A hiba sikeres kihasználásához egy SMP guest szükséges.
- A kernel/time/clocksource.c-ben lévő “clocksource_done_booting()” függvény nem megfelelően inicializálja a clocksource-t. Ezt kihasználva, a”/sys/devices/system/clocksource/clocksource0/current_clocksource” kiolvasásakor egy NULL mutató hivatkozás feloldási hibát lehet előidézni. A hiba sikeres kihasználásához szükséges, hogy a kernel “CONFIG_GENERIC_TIME” “n” értékkel legyen fordítva.
- Bizonyos CIFS üzenetek kezelésében lévő hibát kihasználva, az mm/filemap.c-ben lévő “iov_iter_advance()” függvényben egy “BUG_ON()”-t lehet kiváltani.
- A drivers/net/igb/igb_main.c-ben lévő “igb_receive_skb()” függvény hibáját kihasználva, egy NULL mutató hivatkozás feloldási hibát lehet előidézni, ez pedig a rendszer összeomlásához vezet, ha egy VLAN frame-t küldenek az érintett rendszernek.
A hiba sikeres kihasználásához szükséges, hogy a “CONFIG_PCI_IOV” engedélyezve legyen, és ne legyen VLAN regisztrálva. - Egy sérülékenység oka, hogy az mm/migrate.c “do_pages_move()” függvény nem tisztázza megfelelően a felhasználói területről érkező node értékeket. Ez kihasználható összeomlás okozására, vagy a memória tartalmának megtekintésére, egy speciálisan erre a célra elkészített “move_pages” rendszer hívás segítségével.
- A kernel/futex.c “wake_futex_pi()” függvényének egy NULL mutató hivatkozás feloldási hibáját kihasználva szolgáltatás megtagadás okozható vagy emelt szintű jogosultság szerezhető.
- A kernel/futex.c “futex_lock_pi()” függvényének egy futex kulcs hivatkozás számlálási hibáját kihasználva kernel összeomlás okozható, pl. ext3 fájlrendszer lecsatolásával, ha az egy olyan ideiglenes fájlt tartalmaz, amire egy futex vonatkozik.
- Egy sérülékenységet az újraküldési időzítés (retransmission timeout – RTO) hibás kiszámítása okozza, amelyet kihasználva az érintett rendszeren magas CPU és hálózati terhelés okozható. A sikeres kihasználás feltétele, hogy a TCP időbélyegek le legyenek tiltva.
- Az fs/nfs/pagelist.c-ben lévő “nfs_release_request()” függvény megszakítható, amelyet kihasználva, NULL mutató hivatkozás feloldási hibát lehet kiváltani, egy olyan alkalmazás megszakításával, ami NFS állományon végez műveleteket.
- A sérülékenységet a sound/pci/hda/hda_intel.c “azx_position_ok()” függvényében egy nullával való osztás okozza, ami a rendszer összeomlásának előidézésére használható ki. A sikeres kihasználás feltétele a hda-intel driver használata. A sérülékenységet az AMD780V chipset-et használó rendszereken futó 2.6.32.7 és 2.6.33-rc6 verziókban jelentették. Más verziók is érintettek lehetnek.
- A hiba oka, hogy az fs/ext4/extents.c “ext4_fallocate()” függvénye nem ellenőrzi, hogy a fájl mérete nagyobb-e mint az “RLIMIT_FSIZE” érték. Ezt kihasználva nagyobb fájlokat lehet létrehozni a megengedettnél pl. a “posix_fallocate()” függvénnyel.
- Sérülékenységet okoz, hogy nem megfelelő a hozzáférés ellenőrzés az “EXT4_IOC_MOVE_EXT” IOCTL feldolgozás közben, amit kihasználva, felül lehet írni az append-only fájlokat, egy speciálisan elkészített IOCTL küldésével.
- A sérülékenység oka, hogy a fs/xfs/xfs_dfrag.c “xfs_swapext()” függvénye nem ellenőrzi megfelelően a hozzáférési jogosultságokat. Ezt kihasználva, egy egyedileg kialakított IOCTL segítségével pl. egy másik felhasználó által birtokolt írásvédett fájl tartalmára cserélhető a támadó által olvasható fájl tartalma.
- A net/core/ethtool.c-ben lévő “ethtool_get_rxnfc()” függvény egy egésszám túlcsordulási hibáját kihasználva, a kernel összeomlását, és esetleg emel tszintű jogosultságokat lehet szerezni, egy speciálisan elkészített IOCTL küldésével. A hiba sikeres kihasználásához szükséges, hogya network driver támogassa és használja a “get_rxnfc” műveletet.
- Egy sérülékenységet okoz, hogy az XFS fájlrendszer nem megfelelően ellenőrzi az inode darabszámokat egy fájl kezelésekor. Ez oda vezethet, hogy bizalmas információk juthatnak ki egy NFS kliensnek.
- A drivers/scsi/bfa/bfa_core.c-ben lévő “bfa_attach()” függvény nem megfelelően inicializál bizonyos adatstruktúrákat, amit kihasználva a rendszer összeomlását lehet előidézni, ha a sysfs-en keresztül kiolvassák a fc_host állományt.
- A sérülékenység a CIFS DNS feloldó mechanizmus nem megfelelő kikeresési tábla hozzáférési korlátozásának hibájából ered, amely kihasználható például egy kártékony szerver meghamisított kikeresési táblájának használatához.
- A sérülékenység oka, hogy a JFS fájlrendszer nem érvényesíti megfelelően az xattr névtér hozzáférési jogokat, amely kihasználható a hozzáférési szabályok megkerülésére az érvényes xattr nevekhez történő “os2” előtag hozzáfűzésével.
- A “compat_alloc_user_space()” függvény néhány hívó függvénye (pl.net/compat.c fájlban a “compat_mc_getsockopt()”), nem végez semmilyen ellenőrzést a visszakapott memória területre, amit kihasználva, memória hivatkozási hibát lehet okozni.
- A 32 bites rendszer hívás emulációs réteg nem ellenőrzi, hogy a hivatkozott rendszer hívás benne van-e a rendszer hívási táblában. Ezt kihasználva, tetszőleges kódot lehet futtatni kernel jogosultsággal.
Megoldás
Telepítse a javítócsomagokatTámadás típusa
Input manipulation (Bemenet módosítás)Misconfiguration (Konfiguráció)
Other (Egyéb)
Hatás
Loss of availability (Elérhetőség elvesztése)Loss of confidentiality (Bizalmasság elvesztése)
Loss of integrity (Sértetlenség elvesztése)
Szükséges hozzáférés
Remote/Network (Távoli/hálózat)Hivatkozások
Gyártói referencia: www.vmware.com
CVE-2009-4308 - NVD CVE-2009-4308
CVE-2010-0003 - NVD CVE-2010-0003
CVE-2010-0007 - NVD CVE-2010-0007
CVE-2010-0008 - NVD CVE-2010-0008
CVE-2010-0291 - NVD CVE-2010-0291
CVE-2010-0307 - NVD CVE-2010-0307
CVE-2010-0410 - NVD CVE-2010-0410
CVE-2010-0415 - NVD CVE-2010-0415
CVE-2010-0437 - NVD CVE-2010-0437
CVE-2010-0622 - NVD CVE-2010-0622
CVE-2010-0730 - NVD CVE-2010-0730
CVE-2010-1084 - NVD CVE-2010-1084
CVE-2010-1085 - NVD CVE-2010-1085
CVE-2010-1086 - NVD CVE-2010-1086
CVE-2010-1087 - NVD CVE-2010-1087
CVE-2010-1088 - NVD CVE-2010-1088
CVE-2010-1173 - NVD CVE-2010-1173
CVE-2010-1187 - NVD CVE-2010-1187
CVE-2010-1436 - NVD CVE-2010-1436
CVE-2010-1437 - NVD CVE-2010-1437
CVE-2010-1641 - NVD CVE-2010-1641
CVE-2010-2066 - NVD CVE-2010-2066
CVE-2010-2070 - NVD CVE-2010-2070
CVE-2010-2226 - NVD CVE-2010-2226
CVE-2010-2248 - NVD CVE-2010-2248
CVE-2010-2521 - NVD CVE-2010-2521
CVE-2010-2524 - NVD CVE-2010-2524
CVE-2010-3081 - NVD CVE-2010-3081
SECUNIA 43315
SECUNIA 37658
SECUNIA 38133
SECUNIA 38229
SECUNIA 38317
SECUNIA 38354
SECUNIA 38499
SECUNIA 38502
SECUNIA 38594
SECUNIA 38718
SECUNIA 39982
SECUNIA 40205
SECUNIA 40691
SECUNIA 41321
SECUNIA 41462