サイトアイコン 大人のためのゲーム講座

PS VitaのPSPエミュレータにはカーネルexploit (kxploit)が複数あった

ツイッターで、Yosh氏がPS Vita 2.05で複数のカーネルexploit (kxploit)がパッチされたことを公表していました。

先日公開されたPS Vitaのシステムソフトウェア バージョン2.05でUNO exploitが対策されましたが、実はユーザーモードのUNO exploitとkxploitだけではなくkermit_wlan(kermitについてはこの記事をご参照ください)に存在していた多数の脆弱性も合わせて対策されたようです。


PSVita 2.05アップデートでkermit_wlanのkxploit根こそぎ修正された。10個のフルexploitと3つの読み出し専用のと合わせて12(13ではなく12と書いてあります。)


sceWlanGetEtherAddrはリークされた。sceWlanDrv_lib_51B0BBB8はthecobra氏が発見した(後にFrostegater氏も発見。それがUNO exploit)。

リークされたというのは、その直後にTotal_Noob氏が6.60 TN公開する時に利用した、いわゆるUrbanix exploitの流出事件のkxploitです。


残り8つのフルexploitはソニーが2.05でパッチ済み。1つのモジュールから2つも公開されてるのに結構時間かかったね。他のはこうでした:

「2.02までは存在してた」という残りのものはこんな感じです。


0x354D5D6B [0x00010960] - sceWlanDrv_lib_354D5D6B ( char *dest ); // kwrite
0x0308B66B [0x00031078] - sceWlanDrv_lib_0308B66B (u32 unk0, char *destBuf, u32 *size, u32 *dest); // kwrite
0x2133EAA9 [0x00031080] - sceWlanDrv_lib_2133EAA9 (u32 unk0, char *bufDest, u32 *size); // kwrite
0x638DF9C8 [0x000310B0] - sceWlanDrv_lib_638DF9C8 ( u32 unk0, char *dest, u32 *unk1); // kwrite : memcpy(dest, *(*0x00017A48 + 8), **0x00017A48);
0xA77D0E66 [0x000310D8] - sceWlanDrv_lib_A77D0E66 ( u32 unk0, char *dest, char *buf, u32 *size); // kwrite
0xAE8D779A [0x000310E0] - sceWlanDrv_lib_AE8D779A ( u32 unk0, char *src0, u32 size0, u32 unk1, char *src1, u32 size1, u32 *dest); // sw smthg, 0(dest) : kwrite
0xB991A673 [0x000310E8] - sceWlanDrv_lib_B991A673 ( u32 unk0, void *src_size, u32 … (from http://tl.gd/kr81e0)

Vitaの無線LANモジュールリソースをPSPエミュレータで使うためのKermitに脆弱性ありまくりだったようです。Kermit入れ替えなら2.05アップデートで再起動が必要だったのも納得です。

こんな一網打尽の同一モジュールのkxploitならばソニーが対策してくるのも時間の問題だったわけですね。

あと8つもkxploitがあったことが分かっていたのであれば事前に「次も出すよ」と告知できたはずですが、実際には誰もそれをしなかったということはさすがに2つも同じモジュールの脆弱性を利用したことが分かれば念入りに対策してくる可能性があり様子を見ていたのでしょう。

システムに深く関わるKermitですのでUrbanixの時にもメジャー機能追加のためのアップデートに合わせて対策を遅らせた節がありましたが、実はそれも取り敢えずの修正版であり根本的な対策を施したバージョンを計画通り公開したものが2.05だったのかもしれません。

モバイルバージョンを終了