世界を動かす技術を、日本語で。

OnePlusの電話のアップデートがハードウェアのアンチロールバック機能を導入

概要

  • 2026年1月、OnePlusは ColorOS 16.0.3.501 アップデートで ハードウェアレベルのアンチロールバック機構 を導入。
  • 対象デバイスで ダウングレードやカスタムROMの導入 が完全に不可能となり、試行時は 端末が永久的に文鎮化
  • Qualcommプロセッサ内のeFuse (Qfprom)が物理的に変更され、 元に戻すには基板交換が必要
  • OnePlusおよびOPPOから公式声明は未発表、ダウングレード用ファームウェアも削除済み。
  • 開発者・カスタムROMコミュニティへの甚大な影響 と、今後の端末への波及リスク。

OnePlus ColorOS 16.0.3.501 アンチロールバックFuse事件

  • 2026年1月、OnePlusがColorOS 16.0.3.501を配信
    • OnePlus 13、OnePlus 15、OnePlus Ace 5シリーズ等が対象
  • アップデートでQualcommプロセッサ内のeFuse(Qfprom)を物理的に書き換え
    • ダウングレードやカスタムROM導入時、端末が「ハードブリック」文鎮化
    • 通常の修理・リカバリ手段では復旧不可
  • EDL(Emergency Download Mode)もバイパス不可
    • FirehoseプログラマもeFuse状態を参照、作業不能
  • OnePlus公式からの説明・声明なし
    • ダウングレードファーム削除、ユーザー間で意図的実装と解釈
  • XDA・DroidWin等のコミュニティが警告と調査を実施
    • アップデート後はカスタムROM導入厳禁
    • 既存のカスタムROMは「アンチロールバック未対応」警告

Fuse仕様と動作原理

  • Qfprom(Qualcomm Fuse Programmable Read-Only Memory)
    • 一度だけ書き換え可能な電子Fuse領域
    • 電圧パルスで「0」→「1」へ不可逆的に変更
  • Primary Boot LoaderがXBL(eXtensible Boot Loader)を起動
    • XBLがQfpromのバージョンとファーム埋め込み値を比較
    • ファームがFuse値未満なら即ブート拒否、文鎮化
  • 新しいファーム起動時、TrustZone経由で追加Fuseを焼き付け
    • 以後、最低バージョンが更新される

影響端末・ファームウェアバージョン

  • OnePlus 12: ColorOS 16.0.3.500 / 15.0.0.862
  • OnePlus 13 / 13T: ColorOS 16.0.3.501 / 15.0.0.862
  • OnePlus 15: ColorOS 16.0.3.503
  • OnePlus Ace 5 / Ace 5 Pro: ColorOS 16.0.3.500 / 15.0.0.862
  • OPPO Find X7 Ultra: ColorOS 16.0.3.500
  • OPPO Pad 4 Pro: ColorOS 16.0.3.501
  • OnePlus Pad 2 Pro (CN) / Pad 3 (Global): ColorOS 16.0.3.501
  • ColorOS 16.0.2.402以下は非対象

カスタムROM・開発者コミュニティへの影響

  • カスタムROM導入時の即時文鎮化リスク
    • 既存ROMはFuse未対応のため、導入=即死
  • 開発コミュニティは「Fuse対応ROM」完成まで導入禁止を推奨
  • カスタムROM・GSI・ポート作業が事実上不可能
  • 基板交換以外の復旧手段なし

業界比較と議論

  • Samsung KnoxもFuse方式だが、文鎮化までは至らない
    • Samsung PayやSecure Folder等一部機能が無効化
  • OnePlusはごく一部ユーザーの行為対策が大多数に影響と批判
    • DroidWin「EDLフラッシュは1-2%のユーザーだけが利用」
  • 公式声明・サポート情報一切なし
    • コミュニティ・ユーザー間で不安と混乱が拡大

関連キーワード

  • Right to repair(修理する権利)
  • Planned obsolescence(計画的陳腐化)
  • Bootloader unlocking(ブートローダーアンロック)
  • Custom ROM(カスタムROM)
  • Samsung Knox(サムスンノックス)

今後の注意事項・推奨アクション

  • .500、.501、.503で終わるOTAアップデートは導入前に要検証
  • Fuse焼付け後は一切のダウングレード・非公式ROM導入厳禁
  • Fuse未対応ROMやツールの使用は即文鎮化
  • 公式声明や対応策発表までアップデートは慎重に判断
  • Fuse焼付け済み端末の復旧は「基板交換」以外不可能

まとめ

  • OnePlusのアンチロールバックFuse導入はユーザー自由度を著しく制限
  • 開発者・カスタムROM文化への打撃と、今後の端末選択に影響
  • 公式の透明性・説明責任の欠如がコミュニティの不信感を増幅

Hackerたちの意見

ヒーローとして死ぬか、長生きして悪役になるかのどちらかだね。

Nordシリーズを始めた時から、何かおかしいって感じてたよ。

OnePlusはこれで何を得るんだろう? 誰か、OnePlusがこんなことをするメリットを教えてくれない? 失敗したアップデートでマザーボード交換? もっとお金が入って、株主が喜ぶの? たまに、OnePlusのグリーンラインの騒動がソフトウェアアップデート中に誤ってトリガーされたハードウェアのヒューズの失敗だったのかもって考えちゃうんだよね。(証明できないっていうミームをここに挿入)

私の理解では、盗難によって無効になった電話を消去して再有効化できるバグがあったんだ。これがダウングレード攻撃を防ぐんだよね。OnePlusにとっては、盗難に対して自社の電話を魅力的でなくすることが利益になるし、キャリアやGoogleなどから無効化できる要件に従うことも重要なんだ。

iPhoneでも同じ概念で、ダウングレードするには7日間の猶予があって、その後は永久に不可能になる。技術的な理由ではなく、任意のロック(署名によって達成される)によるものだよ。OnePlusはハードウェアの方法を選んだのに対して、Appleは署名の方法を選んだ。OnePlusでもAppleでも、ユーザーが自分の好きなオペレーティングシステムをサインして実行できる方法が絶対に必要だと思う。(このiOS 26が嫌いで、データを全部失ってiOS 18にダウングレードした後も、iOS 26を再インストールするまでApple Watchが再同期しなかったのがクソな会社の方針だと思う)

OnePlusはこれで何を得るの?誰か、OnePlusがこんなことをする利点を説明してくれない?彼らはハードウェアをユーザーの手に渡したくないんだ。テックの経営者たちの考えでは、ハードウェアを売るだけじゃ十分な利益が出ない。ユーザーは「サービスとしてのソフトウェア」に縛られて、データを抽出されるべきなんだよ。

彼らの低レベルのブートローダーコードには、物理的にアクセスできる攻撃者が好きなOSを起動できる脆弱性があるんだ。Androidの通常のブートローダーのアンロック手順ではそれが可能だけど、データパーティション(またはその暗号化キー)が消去されるから、空港の国境警備員が簡単にCellebriteで電話を開けられないようになってる。ダウングレード保護がなければ、Qualcommチップに組み込まれた低レベルのリカバリープロトコルは、攻撃者が適切に署名された古い脆弱なソフトウェアを読み込むことを許可してしまうんだ。それを利用される可能性があるから、eFusesを使ってダウングレードを防ぐことで、この攻撃経路を防げる。これが必ずしもカスタムROMの実行を防ぐわけじゃないけど、古いカスタムROMは防げる。新しいブートローダーやファームウェアで開発されたカスタムROMは問題なく起動するはずだよ。だから、リンクされた記事にはこう書いてあるんだ:> コミュニティの推奨は、アップデートしたユーザーは、開発者が新しいファームウェアベースでフューズデバイスをサポートすることを明示的に発表するまで、カスタムROMをフラッシュしないことです。ROM開発者がROMを更新すれば、カスタムROMの状況はまた良くなるはず。

デバイスが起動すると、プロセッサのROM内のプライマリブートローダーがロードされ、eXtensible Boot Loader(XBL)を検証します。XBLは現在のアンチロールバックバージョンをQfpromヒューズから読み取り、ファームウェアの埋め込まれたバージョン番号と比較します。ファームウェアのバージョンがヒューズの値より低い場合、ブートは拒否されます。新しいファームウェアが正常に起動すると、ブートローダーはQualcommのTrustZoneを通じて追加のヒューズを吹き飛ばすコマンドを発行し、新しい最小バージョンを永久に記録します。何を比較してるんだろう? “ファームウェアの埋め込まれたバージョン番号”って何? アンロックされたブートローダーがあれば、ブートやスーパーパーティション(システム、ベンダーなど)をフラッシュできるけど、何か見落としてる気がする。これがバイパスできるように思えるから。> カスタムROMは、構築されたストックファームウェアからファームウェアコンポーネントをパッケージします。もしユーザーのデバイスがヒューズされたファームウェアバージョンにアップデートされていて、古いファームウェアに対して構築されたカスタムROMをフラッシュすると、アンチロールバックメカニズムが即座にトリガーされるんだ。カスタムROMはよく「事前にストックバージョンx.yをフラッシュしておくことを確認してください」って言うけど、実際にそれがどのパーティションを指しているのか(ベンダーブロブとは違うし)、新しいファームウェアに対してカスタムROMを構築するのか、(数百の)ベンダーブロブをパッチするのにどれくらいの作業が必要なのかはわからない。

具体的に何を比較してるの?「ファームウェア埋め込みバージョン番号」って何?ブートローダーがアンロックされてれば、ブートやスーパーパーティション(システム、ベンダーなど)をフラッシュできるけど、何か見落としてる気がする。これがバイパス可能なものでない限り、意味がわからない。セカンダリブートが署名されていて、どこかに署名されたメタデータにバージョンがある場合を除いて。プライマリブートは署名をチェックして、セカンダリブートのバージョンを読み取って、それが書き込み一回メモリ(フューズ)が要求するバージョンより低くない場合にのみ読み込む。自己署名したり署名を無効にできれば、メタデータがバージョンを満たしている限り、好きなブートを実行できるよ。

ファームウェア(XBLやその他のOS以外のコンポーネント)は、アンチロールバック値でバージョン管理されてる。バージョンがフューズに焼き込まれたバージョンよりも低いと、ファームウェアは拒否される。通常、「ブート」パーティションはLinuxカーネルだよ。Android Verified Bootはカーネルイメージを読み込んでハッシュを計算し、それをvbmetaパーティションの期待されるハッシュと比較する。vbmetaメタデータ全体のハッシュの署名は、セカンダリブートローダーにコーディングされた公開鍵と比較される(通常はabl(fastbootdがユーザースペースでスーパーパーティションをサポートする前のfastboot))。ablファームウェアには、eFuseバージョンとチェックされるアンチロールバックバージョンが含まれてる。スーパーパーティションは、単一の物理パーティションの上にある複数のlvm論理パーティションだよ。その中には、読み取り専用でマウントされ、dm-verityデバイスマッピングで保護された主要なルートファイルシステムがある。このverity rootfsのルートハッシュも署名されたvbmetaに保存されてる。Android Verified Bootにもアンチロールバック機能がある。vbmetaパーティションはバージョン管理されていて、最小バージョン値はリプレイ保護メモリブロック(rpmb)と呼ばれる特別なフラッシュパーティションに暗号的に保存されてる。これにより、vbmeta自体がロールバックできないから、ブートとスーパーパーティションのロールバックが防がれる。

これは「修理する権利」を超えて、単に所有権の権利に関わる問題だよね。これらのリモートアップデートは、何かを買っても実際にはそれを所有していないことを何度も証明してる。

確かに。私の所有権は、購入した店からのレシートで証明されてるよ。この大規模な破壊行為はCFAA違反だと思う。販売時に全ての権利が移転されてないから、詐欺的な販売とも言えるし、無期限のレンタルとして誤解を招くような販売だった。多分、RICO法にも該当すると思う。Cレベルや取締役会が知ってたか、指示してた可能性が高いからね。それに、ほとんど全てがワイヤーフラウドだよ。でも、もし誰かが彼らを訴えて勝ったら、何が見えるんだろう?次のOnePlusフォンのための10ドルのバウチャーとか?また買うわけないじゃん。

車も基本的には同じだよ。屋根のフィンに繋がってる「電話ホーム」部分を無効にしようとしてみて。メールでオイル交換が必要だってメーカーに言われるのを止められないなら、本当に自分の車を所有してるって言えるの?

OPによると、これ自体はブートローダーのアンロックを無効にしないらしい。アップデートされたデバイスはすべての以前のカスタムROMと互換性がなくなるけど、現在のeFuseの状態に完全に互換性があり、eFuse自体を吹き飛ばさない新しいROMリリースを開発することは可能だと思う。

どこかにニュアンスがあるのは分かるけど、それが何かはよく分からない。もっと簡単な言葉で説明してくれない?私みたいなバカでも理解できるように。代替OSは「現在のeFuseの状態」に対応するために何をしなきゃいけないの?

これが今もそうかは分からないけど、昔は多くの無名/ジェネリックなAndroidがデフォルトで完全にアンロックされてた(特にMediaTekのSoC)。ほとんどブリックできない状態だったから、モッディングシーンが栄えたんだと思う。efuseもあったはずだけど、ソフトウェアはそれを使わなかった。

Louis Rossmannの1時間以上の愚痴が楽しみだな。

彼はもうこの件について動画を作ってるけど、時間はたったの3:23だよ。 https://youtu.be/3AiRB5mvEsk?si=XapAHhHRJtssDI4F

なるほど、戦争が起きた時にアメリカの敵がデバイスを取り上げられる理由はこれか。> アンチロールバック機構はQfprom(Qualcomm Fuse Programmable Read-Only Memory)を使っていて、Qualcommのプロセッサにある一度だけプログラム可能な電子ヒューズの領域なんだ。こんな機能を作るなんて、なんて思いやりのある人たちなんだろう。だから、中国のLoongsonやロシアのBaikal CPUを徹底的に制裁するんだよ。プログラム的に「ヒューズを吹き飛ばす」よりも無効にするのが難しいからね。

これをやる方法はたくさんあるけど、もっと簡単な方法は、CPUの100億個のトランジスタのどこかに小さなロジックブロックを隠して、特定の長いビット列を検出してキルスイッチを発動させることだよ。

こういうのは、ブートローダーの信頼の連鎖にバグが出たら、ダウングレードを許可しないために使われることが多いよ。壊れたら永遠に壊れたままだからね。信頼できるコンピューティングの観点から考えると、こういうのは意味がある。実際、これは新しいことじゃなくて、25年前のp2kモトローラにもあったし。消費者としては信頼できるコンピューティングやルート化/脱獄を望まないかもしれないけど、そういうものを作るのが悪いわけじゃないよ。

これが「ColorOS」ブランドのファームウェアバージョンにのみ適用されるって確認されてる人いる?今、OnePlus 15にOxygenOS 16.0.3.501のアップデートが保留中なんだけど、これはおそらく同じコードベースから作られてると思うんだ。

これって、もう10年か20年くらい前からSOCでは一般的な機能だよね。コメントを見ると、これが異常なニュースだと受け取られてるみたい。安いデバイスでも、アンチロールバック用にeFuseを使ってることが多いから、古いファームウェアに戻れないようになってる。うちの職場でも、ルートエクスプロイトが見つかると必ずやってるよ。これをやらないと、誰かがUSBケーブルであなたの小さなガジェットから個人データを解読して盗むのが簡単になっちゃうから、古い署名されたファームウェアをフラッシュしてエクスプロイトを使うことでね。