SDカードを挿入しないと時刻設定できないカーナビをジェイルブレイク

自動車のカーナビには地図情報を保存したSDカードが必要な機種がありますが、SDカードを挿入しないと時計の時刻すら変更できない製品も存在します。セキュリティ研究者のラスムス・モーラッツ氏が、ルノーの純正カーナビをジェイルブレイクして時刻設定を変更した経緯を2026年11月2日に公開しました。
Jailbreaking my car's navigation system just so I can change the time | nns.ee
https://blog.nns.ee/2026/11/02/renault-hack/
モーラッツ氏は2014年式のルノー・ラティテュードを中古で購入する際に、「標準装備のカーナビで時刻を変更するにはカーナビ用のSDカードが必要」と説明されたそうです。しかし、モーラッツ氏は設定メニューから時刻変更できるはずだと考え、古くなった地図データが入ったSDカードを捨ててしまったとのこと。
ところが、夏時間が終了して時計が実際の時刻より1時間進んだ状態になった際に問題が発覚。カーナビの設定画面を探しても時刻変更の項目が見つからず、設定ボタンの一方はBluetoothや電話帳に関する項目しか表示せず、もう一方は「地図が見つかりません」というエラーを表示するだけでした。

そこで、モーラッツ氏はカーナビのファームウェアを入手し、内部構造を解析しました。搭載されていたのは「TomTom Carminat LIVE」というシステムで、Samsung製プロセッサ「S5P6440」とLinux 2.6.28.10をベースにした独自OSで動作していました。
解析の結果、時刻設定画面を呼び出すためのメニュー情報がSDカード内に保存されており、カードがなければ設定画面を開けないことが判明しました。さらに、SDカードには固有識別番号(CID)とファイルの署名を確認するDRMが導入されており、必要なファイルを一般的なSDカードにコピーしても利用できない仕組みでした。

対応するSDカードを購入する方法もありましたが、モーラッツ氏が住むエストニアへの送料を含めると約60ユーロ(約1万1000円)かかります。モーラッツ氏は地図を利用するつもりがなく、時計を合わせるためだけに購入するのは無駄だと考え、カーナビの制限を解除することにしました。
最初に試みたのはファームウェアを書き換えて更新する方法ですが、改変したファームウェアをインストールすることができませんでした。そこでモーラッツ氏は、PC上で別のシステムを再現するエミュレーター「QEMU」を使ってカーナビの動作環境を構築し、攻撃方法を調査しました。
調査を進める中で、カーナビが起動時にSDカードから読み込む「master.script」というファイルに注目しました。これは独自の命令で画面操作などを自動化するスクリプトで、特定の命令を利用すればプログラムを起動できます。しかし、SDカード上のプログラムの実行は禁止されており、起動命令にも引数を渡せないという制限がありました。
さらに解析を進めると、master.scriptには指定したファイルに文字列を書き込む「LOG」という命令が存在し、本来の保存先以外にも書き込めるパストラバーサル攻撃の余地があることを発見しました。ただし、書き込み可能な内容や実行権限には制限があり、そのままでは任意のプログラムを実行できません。
突破口となったのはLinuxカーネルの「core_pattern」という設定です。通常はプログラムが異常終了した際に生成される診断用データの保存先を指定するものですが、特定の書式を使うことで異常終了時に任意のプログラムを起動させることもできます。
モーラッツ氏はLOG命令の脆弱性を利用してcore_patternを書き換え、プログラムが異常終了した際にSDカード上のスクリプトが実行されるようにしました。さらに、カーナビ内部に存在する「dbus-monitor」というプログラムを異常終了させることで、管理者権限で任意のコードを実行することに成功しました。

最終的に使用したmaster.scriptは以下にあるたった3行の命令で構成されていました。
#define LOGFILE ../../proc/sys/kernel/core_pattern
LOG |/bin/sh /media/sdcard/payload.sh
SHEX /bin/dbus-monitor
モーラッツ氏はSDカードを挿入してスクリプトを実行し、カーナビが再起動することを確認してジェイルブレイクの成功を確かめました。
その後、内部ストレージをバックアップして設定ファイルを詳しく調べたところ、時刻設定は「/mnt/flash/settings.dat」に保存されていることが判明しました。このカーナビにはタイムゾーンを管理する仕組みがなく、GPSから取得した時刻に対して何分の時差を加えるかという数値だけが保存されていました。
設定されていた時差は180分でしたが、エストニアの冬時間に合わせて120分に変更。これにより、モーラッツ氏はSDカードを購入することなく、カーナビの時計を正しい時刻に合わせることに成功しました。
この事例はソーシャルニュースサイトのHacker Newsでも話題になり、ほかの自動車に搭載された時計に関する不便な仕様も報告されています。あるユーザーは2001年式の高級車では時計を手動設定できず、タイムゾーンの選択でしか時刻を調整できなかったとのこと。タイムゾーンに関するルールが古くなっていたため、正しい時刻を表示するには年4回の設定変更が必要だったそうです。
別のユーザーは、一部のスバル車では運転席から見える位置に3つの時計があり、いずれも車載ネットワークのCANバスに接続されているにもかかわらず、時刻が同期されていないと指摘しました。さらに、2025年式のトヨタ車ではメーカー純正の時計とAndroid Autoの時計が別々に表示されてサマータイムの切り替えで時刻が食い違ったという報告や、日本からニュージーランドに輸入した2005年式の車がGPSで時刻を設定するもののタイムゾーンを日本以外に変更できないという不満も寄せられています。
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.