Switchのnvservicesモジュールに脆弱性 密かに開発が進んでいたが実は6.0.0で対策済み

ツイッターで、daeken氏が任天堂に脆弱性を報告するBug Bounty Programに報告した脆弱性の開示許可が出たとしてその情報を公開したことを公表していました。

詳細についてはNintendo Switch nvservices Info Leakとして公開されています。daeken氏曰く、「多分6.0で修正されたと思う(テストはしていない)」とのこと。Switchのnvservicesというシステムモジュールの脆弱性です。

一方でhexkyz氏はその話を「非常に残念な知らせ」だとツイートしました。daeken氏が任天堂に報告したnvservicesの転送メモリーリークはqlutoo氏が昨年6月に発見しており、「déjà-vu exploit」として密かに開発が進んでいたようです。hexkyz氏はSwitchの6.0.0でテストを実施した際動作しなかったため、バージョン6.0.0で対策されたことは把握していましたが、その後密かに持っていた別のexploitでツールチェーンを作り直していました。

ユーザーとしては、裏で進んでいたプロジェクトが表に出る前に終わっていたという非常に残念な話になります。

過去にハックシーンでよくありがちな「勝手に報告して本人報償ゲットみんなガッカリ」のような流れになっていますが、今回は全くそういう話ではなく、偶然同じ脆弱性だったというだけでdaeken氏は自分でexploitを見つけて任天堂に報告していたようです。

hexkyz氏のツイートを見たdaeken氏は、nvservicesモジュールの脆弱性は自分で見つけたものだとツイートしています。ただ、exploitの発見は2017年の9月で、qlutoo氏が自分より3ヶ月も前に発見していたことにちょっぴり落胆していました。

hexkyz氏がこれまでnvservicesモジュールの脆弱性、déjà-vu exploitについて情報を公表しなかったのは、SwitchのFusée Gelée対策新基板Marikoで使うために温存していたからのようです。hexkyz氏はまだ任天堂が把握できていない脆弱性は存在するとしているので、Marikoのために作っていたツールチェーンが100%使えなくなると決まったわけではありませんが、今回のdaeken氏のようにBug Bounty Programに温存しているexploitが報告されてしまっている危険性は否定できません。

Fusée Geléeが使えないMarikoがシーンのターゲットになっている今は、他にも裏で動いているプロジェクトがあるかもしれませんし、今後はよくありがちな流出という最悪の事態を招く可能性も十分考えられます。
ハックシーンは似たような歴史を必ず繰り返してきているので、いつかどこかでまた名誉の奪い合いの末のexploit流出が起こるかもしれません。

今回は結果としてすでに任天堂に脆弱性を対策されてしまいましたが、盗難流出というパターンではなくてまだ良かったのではないでしょうか。