ニンテンドーDSiを標準のウェブブラウザからハッキングすることに成功

2008年に任天堂から発売された携帯型ゲーム機「ニンテンドーDSi」には、ブラウザーのOperaを開発するOpera Softwareと共同開発した「ニンテンドーDSiブラウザー」が搭載されており、インターネットに接続することでウェブページを閲覧することができます。エンジニアのネイサン・ファーロウ氏が、このニンテンドーDSiブラウザーをハッキングして任意のコードを実行するエクスプロイトを発表しました。
https://farlow.dev/2023/03/02/hacking-the-nintendo-dsi-browser
stylehax: DSi browser exploit - YouTube
ニンテンドーDSiブラウザーを起動。

Favorirtes(お気に入り)を開きます。

登録している「stylehax」にアクセス。

「エクスプロイト中……30秒以上このままだったら、再起動してもう一度試してください」というメッセージが表示されるので、しばらく待ちます。

すると、画面が一瞬点滅して消えます。

再起動後、明らかにニンテンドーDSiのものではない画面が表示されました。

ファーロウ氏は、最初はmelonDSというニンテンドーDSのエミュレーターでエクスプロイトを探そうとしたそうですが、うまくいかなかったとのこと。そこで、Opera 9.50のWindowsビルドを探し出してWineで実行し、ヒープ領域を利用したデバッグ機能を有効にした上でWebKitのレイアウトテストを行ったそうです。その上で、使用済みオブジェクトを見つけて破損したものを操作し、制御可能なアドレスにジャンプさせ、任意のコードを実行する方法を発見したとのこと。このやり方がmelonDSエミュレーターでうまくいったため、実物のニンテンドーDSiで検証したのが上記のムービーというわけです。
なお、ファーロウ氏は一連のコードをGitHubで公開しています。
GitHub - nathanfarlow/stylehax: Nintendo DSi browser exploit
https://github.com/nathanfarlow/stylehax
