ブラウザ

Firefox 147の新機能と変更点|WebGPU・XDG対応と147.0.4までの修正・脆弱性

Firefox 147の新機能と変更点|WebGPU・XDG対応と147.0.4までの修正・脆弱性

Firefox 147は2026年1月13日に配信が始まり、147.0.4までの4回の修正版を経て、2月24日の148.0で更新が終わったバージョンです。

この記事は147系に絞って、公式リリースノートとMozillaのセキュリティアドバイザリ(MFSA)を一次情報に、何が変わり何が直ったかを整理します。2026年10月5日時点のリリース版は157.0(9月29日公開)なので、今使っているFirefoxを最新にする手順や149以降の変更点はFirefoxの最新版と更新方法をまとめた記事で確認してください。

まとめ:Firefox 147で変わった点と147.0.4までの経緯

  • WebGPU:Apple Silicon搭載Macで、145のmacOS Tahoeに続き、それより前のmacOSでも有効に。Intel MacとLinuxは対象外です。
  • Linux版のXDG対応:新規プロファイルは ~/.config/mozilla/firefox へ。既存の ~/.mozilla/firefox は移動されません。
  • Safe Browsing V5:ローカルリストモードへ移行。照会の仕組みはV4とほぼ同じです。
  • 脆弱性:147系で計19件を修正。Critical評価と悪用確認の記載はありません。
  • 開発者向け:Navigation APIがBaselineに入り、CSSアンカー位置指定とCSSモジュールスクリプトも有効になりました。
  • 今も147を使っている場合:147系へのセキュリティ更新は終了しているため、サポート中の版への更新が先です。Windows 7〜8.1とmacOS 10.12〜10.14にはESR 115が提供され、2027年3月までセキュリティ更新が予定されています。

147.0から147.0.4までのリリース履歴と修正内容

Mozillaの版データ(product-details)とリリースノートによる147系の配信履歴です。

版 公開日 主な内容 脆弱性修正
147.0 2026-01-13 新機能一式(本記事の各章) 16件(MFSA 2026-01)
147.0.1 2026-01-16 ChatGPT等の表示不具合を回避 なし
147.0.2 2026-01-27 XDG環境の不具合・誤検知の修正 2件(MFSA 2026-06)
147.0.3 2026-02-04 表示崩れ・設定画面の不具合修正 なし
147.0.4 2026-02-16 新しいタブが空白になる問題 1件(MFSA 2026-10)

146.0(2025年12月9日)から147.0までは5週間、147.0から148.0(2026年2月24日)までは6週間空いています。年末年始を挟み、通常の4週間より長い間隔でした。

一般ユーザー向けの新機能と設定の変化

Apple Silicon MacのWebGPUは145から段階的に拡大

147.0のリリースノートには「WebGPU support is now enabled for devices with Apple Silicon processors on all supported macOS versions.」とあります。ここで大事なのは「all supported macOS versions」の部分です。MDNの互換性データ(browser-compat-data 8.1.3)によると、FirefoxのWebGPUはWindowsで141から、Apple Silicon搭載MacのmacOS Tahoeでは145から有効で、147ではTahoeより前のmacOSにも広がりました。つまり147は「MacでWebGPUが初めて使えた版」ではありません。

同じデータでは、Intel CPUのMac(Bug 2004105)とLinux(Bug 2006676)は未対応で、Service Workerの中からも使えません。WebGPUを使うサイトでは、navigator.gpu の有無に加え、requestAdapter() がnullを返す場合やデバイスの取得に失敗する場合にも、WebGLなどへ切り替える処理が必要です。

タブを切り替えると動画が自動でピクチャーインピクチャーになる設定

動画を再生中のタブから別のタブへ移ると、動画が小窓(ピクチャーインピクチャー)で再生を続ける機能が入りました。リリースノートに「optionally」とある通り既定ではオフで、147のソースでも設定値 media.videocontrols.picture-in-picture.enable-when-switching-tabs.enabled の初期値は false でした。

有効にするには、設定の「一般」パネルで「タブを切り替えた時、再生中の動画をピクチャーインピクチャーモードにする」にチェックを入れます(日本語版の表記)。

AMD GPUの動画再生とLinuxの分数スケーリング表示

AMD GPUを積んだPCでは、ハードウェアデコードした動画をコピーせずに表示する「ゼロコピー再生」が有効になりました。リリースノートは、これでIntelやNVIDIAのGPUと同等になったと説明しています。デコード済みのフレームを表示用に複製する手間を省く仕組みで、対象は対応するハードウェアデコードが使える環境に限られます。

Linux GNOME(Mutter)で125%や150%といった分数スケーリングを使っている場合、ウィンドウと描画面のサイズを実際のピクセル格子に合わせる修正も入り、文字がにじむ問題が解消されています。

キーボードショートカットの変更(about:keyboard)

アドレスバーに about:keyboard と入力すると、ショートカットキーを好みの組み合わせに変えられる実験的機能が開きます。他のソフトとのキーの衝突を避けたいときに使えます。147.0.2のリリースノートに「New」として載り、147.0のノートにも追記された機能です。

強化型トラッキング防止「厳格」でのローカルネットワーク制限

強化型トラッキング防止(ETP)を「厳格」にしている場合、インターネット上の公開サイトが社内LANや家庭内の機器(ルーター管理画面やNASなど)へアクセスしようとすると、ユーザーの許可が必要になりました。段階的な配信のため、147へ更新しても全員にすぐ反映されるとは限りません。許可した内容は、現在の日本語版ではサイトごとの権限「ローカルネットワークの端末」として表示されます。

Linux版のXDG Base Directory対応と保存先の決まり方

Linux版Firefoxは長年、設定やプロファイルをホームディレクトリ直下の ~/.mozilla に置いてきました。XDG Base Directory仕様(設定は ~/.config、キャッシュは ~/.cache に置くというLinuxデスクトップの取り決め)への対応要望は、2004年9月14日に登録されたBug 259356で21年間開いたままでしたが、2025年11月に修正が入り、147で出荷されました。

既存プロファイルは移動しない:保存先を決める4つの条件

147のソース(toolkit/xre/nsXREDirProvider.cpp)を読むと、プロファイルの置き場所は次の順で決まります。最初に従来の保存先の有無を確認します。なお、XDG_CONFIG_HOMEとXDG_CACHE_HOMEは有効な絶対パスを指定した場合に使われ、未設定・空文字・相対パスの場合は既定値が使われます。

条件 プロファイルの置き場所
~/.mozilla/firefox が既にある ~/.mozilla/firefox(従来どおり)
環境変数 MOZ_LEGACY_HOME=1 ~/.mozilla/firefox(強制)
上記なし・XDG_CONFIG_HOME を設定 $XDG_CONFIG_HOME/mozilla/firefox
上記なし・変数も未設定 ~/.config/mozilla/firefox

つまり、何年も使ってきた環境で147へ更新しても、プロファイルは動きません。新しいPCや、~/.mozilla を一度も作っていないユーザーで初めて新しい場所が使われます。キャッシュは XDG_CACHE_HOME(未設定なら ~/.cache)の下に置かれます。

開発を担当したMozillaのエンジニアはBug 259356で「there is no migration path supported at this point: only new profiles are expected to use the new setup」と書いています。手作業で移す場合は自己責任で、事前のバックアップが前提です。拡張機能のメタデータやPKCS#11(スマートカード等)の設定にはパスが直接書き込まれている例が報告されているので、移した後は拡張機能と証明書まわりの動作を確かめてください。

Linux版Firefoxのプロファイル保存先の確認手順

ターミナルで両方の場所の有無を見るのが手早い方法です。ブラウザ側では about:profiles を開くと、使用中プロファイルの「ルートディレクトリ」が表示されます。

# どちらのプロファイル置き場があるか確認する
firefox_config_home="${XDG_CONFIG_HOME:-$HOME/.config}"
case "$firefox_config_home" in
  /*) ;;
  *) firefox_config_home="$HOME/.config" ;;
esac
ls -d "$HOME/.mozilla/firefox" "$firefox_config_home/mozilla/firefox" 2>/dev/null

# 新しいプロファイルでも従来の ~/.mozilla を使わせる
MOZ_LEGACY_HOME=1 firefox

スクリプトやバックアップ設定で ~/.mozilla/firefox/profiles.ini を決め打ちしている場合、新しく作った環境では見つからなくなります。従来のパスと、XDG_CONFIG_HOMEが有効な絶対パスならその配下、未設定・空文字・相対パスなら既定の.config配下を確認するように書き換えてください。

147.0.1と147.0.2で直った不具合と残る例外

XDG対応の直後には、関連する不具合が2つ修正されています。

  • 新しい保存先を使っていても、空の ~/.mozilla/extensions が作られていた(Bug 2001887、147.0.1で修正)
  • プロファイルが新しい保存先にあると、サンドボックスが chrome と extensions フォルダへのアクセスを拒み、一部の翻訳表示などが欠けた(Bug 2011300、147.0.2で修正)
  • ブラウザ拡張と外部プログラムをつなぐ native-messaging-hosts の定義ファイルは、当面 ~/.mozilla/native-messaging-hosts/ に置く必要がある(2026年5月のBug 259356のコメント、Bug 2005167で検討中)

新しい環境でパスワードマネージャー等の連携アプリが動かないときは、3つ目の定義ファイルの置き場所を最初に疑ってください。

Safe Browsing V5への移行で変わること・変わらないこと

Firefoxは危険サイトの警告にGoogleのSafe Browsingを使っており、147でその方式がV4からV5の「ローカルリストモード」へ移りました。

Googleの開発者向け文書は、このモードを「the client behavior is similar to the v4 Update API」と説明しています。危険なURLの一覧はSHA-256ハッシュの先頭部分としてブラウザ内に保存され、閲覧するURLはまずこの手元の一覧と照合されます。一致したときだけ、ハッシュの先頭4バイトをGoogleのサーバーへ送って完全なハッシュを受け取り、最終判定します。この手順はV4と同じで、URL自体を送る仕組みではありません。「V5になってURLを送らなくなった」「クラウドへの問い合わせが大幅に減った」という説明は、少なくとも147が採用したローカルリストモードには当てはまりません。

変わったのはGoogle側とやり取りするAPIの形式で、利用者側の操作は不要です。ただし移行直後には、別の種類の脅威として登録されたハッシュを取り違え、安全なサイトを危険と表示する誤検知がありました(Bug 2010956)。147.0.2で修正されているので、147.0や147.0.1のまま警告が多い場合は、まず更新してください。

Firefox 147系で修正された脆弱性19件の内訳

147系の修正は3つのアドバイザリに分かれています。件数と深刻度は、各アドバイザリの「Impact」欄を1件ずつ数えたものです。

アドバイザリ 公開日 修正版 件数 high moderate low
MFSA 2026-01 2026-01-13 147.0 16 7 6 3
MFSA 2026-06 2026-01-27 147.0.2 2 1 1 0
MFSA 2026-10 2026-02-16 147.0.4 1 1 0 0

147.0のhigh 7件のうち4件はサンドボックス脱出です(CVE-2026-0878〜0880はグラフィックス処理、CVE-2026-0881はメッセージングシステム)。サンドボックスはWebページの処理をOSから隔離する仕組みで、越えられると他の脆弱性との組み合わせで端末側のコード実行につながります。残りはDOMの保護機構の回避(CVE-2026-0877)、IPCの解放済みメモリ使用(CVE-2026-0882)、メモリ安全性バグの集合(CVE-2026-0891)です。

147.0.2では、トラッキング防止の回避(CVE-2026-24868、moderate)とスクロール処理の解放済みメモリ使用(CVE-2026-24869、high)が直りました。147.0.4の1件は動画コーデックlibvpxのヒープバッファオーバーフロー(CVE-2026-2447、high)で、同じ日にESR 140.7.1とESR 115.32.1にも同じ修正が出ています。3つのアドバイザリには、悪用が確認されたという記載はありません。

147で報告された不具合とポイントリリースでの対処

147.0の公開後に見つかった主な不具合と、それを直した版は次の通りです(括弧内はBugzillaの番号)。

  • 147.0.1:ChatGPTなど、新しい圧縮技術Compression Dictionariesを使うサイトが正しく表示されない問題を、機能を一時的に無効にして回避(2010712)。時刻の表示形式によって一部サイトが崩れる問題(2010411)
  • 147.0.2:一部サイトへのログインでパスキーの確認が余計に何度も出る問題(2010919)。前章のXDGとSafe Browsingの不具合
  • 147.0.3:position: sticky の要素がホバー操作の後にスクロールへ追従しなくなる退行(2010481)。DNS over HTTPSの設定欄が空白になり変更できない問題(2010501)。フォントを大量に入れたWindowsでタブやメニューの文字が化ける問題(2012950)。クロスオリジンのiframeを含むページで要素選択の後に再読み込みすると、開発ツールが再び開けなくなる問題(2003810)
  • 147.0.4:新しいタブページが空白になる問題(2014616)

Linux(Wayland)でポップアップや右クリックメニューがウィンドウ左上など誤った位置に開く問題(2003045)は、147.0.3で一部だけ緩和され、147.0.4の時点でも「Unresolved」のままでした。残る位置ずれはBug 2014419で追跡され、148・149では修正されず、151で修正済みとされています。147でこの症状がある場合は、現在サポート中の最新版へ更新してください。WaylandとX11の違いはWaylandとX11の違いを解説した記事で整理しています。

開発者向けの変更:Navigation APIとCSSアンカー位置指定

Navigation APIのBaseline到達と対応ブラウザ

Navigation APIは、ページ遷移の開始・横取り・管理をまとめて扱うAPIで、History APIと window.location の弱点を補う後継です。Chromeは102、Safariは26.2で対応済みだったため、147の対応でweb-featuresの判定が「Baseline Newly available」(2026年1月13日)になりました。SPAのルーターを自作する場合、popstate とリンクのクリック横取りを個別に書かずに済みます。以下は、横取り対象の遷移先がpartial=1でmain要素の内側に挿入するHTML断片を返し、現在の文書にmain要素が存在する場合の例です。

if ('navigation' in window) {
  navigation.addEventListener('navigate', (event) => {
    // 同一オリジンの通常遷移だけを横取りする
    if (!event.canIntercept || event.hashChange || event.downloadRequest !== null || event.formData !== null) return;
    const url = new URL(event.destination.url);
    event.intercept({
      async handler() {
        url.searchParams.set('partial', '1');
        const res = await fetch(url.pathname + url.search, { signal: event.signal });
        if (!res.ok) throw new Error(`HTTP ${res.status}`);
        const html = await res.text();
        event.signal.throwIfAborted();
        document.querySelector('main').innerHTML = html;
      },
    });
  });
}

Newly availableは「主要ブラウザの最新版で使える」段階なので、古いブラウザが残る業務システムでは上の例のように対応確認を入れます。147.0.3でNavigation APIとアンカー位置指定の相互運用性が改善されたため、検証は147.0.3以降で行ってください。

CSSアンカー位置指定によるツールチップ・メニューの配置

CSSアンカー位置指定は、ある要素(アンカー)を基準に別の要素の位置と大きさを決める機能です。ChromeとEdgeは125、Safariは26で対応しており、147でFirefoxも既定で有効になりました。ボタンの真下にメニューを出し、画面からはみ出すなら上へ反転させる、といった処理をJavaScriptなしで書けます。

.menu-button { anchor-name: --menu-btn; }

.menu {
  position: absolute;
  position-anchor: --menu-btn;
  top: anchor(bottom);
  left: anchor(left);
  position-try-fallbacks: flip-block; /* 下に収まらなければ上へ */
}

147では開発ツール側も対応し、anchor-name を持つ要素にはインスペクターで「anchor」バッジが付き、@position-try ルールもCSSルールパネルに表示されます。プロパティの全体像はCSS Anchor Positioningの解説記事にまとめています。

CSSモジュールスクリプトとService WorkerのESモジュール

JavaScriptのimport属性でCSSファイルを読み込み、そのままスタイルシートとして使えるようになりました。Web Componentsのシャドウルートへ同じスタイルを配る用途に向いています。以下は文書全体へ適用する例で、JavaScriptをモジュールとして実行し、card.cssをtext/cssで配信する必要があります。

import sheet from './card.css' with { type: 'css' };
document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];

web-featuresのデータでは、この機能はChrome・Edge 123とFirefox 147が対応し、Safariは未対応です。Safari利用者がいるサイトでは、ビルド時にCSSを文字列化するなどの代替が引き続き必要になります。Service WorkerでESモジュール(type: 'module' での登録)が使えるようになったのも147からで、こちらはChrome 91・Safari 15と揃ったためBaselineに入りました。

Brotli・CSS単位・Accept-Languageなどの追加変更

  • CompressionStream と DecompressionStream がBrotli形式に対応(MDNのデータではSafari 18.4は対応、Chromeは未対応)
  • 複数のイテラブルを1本につなぐ Iterator.concat() に対応(Chrome 146・Safari 26.4と揃い、2026年3月24日にBaseline入り)
  • ルートのフォントを基準にする単位 rcap・rch・rex・ric に対応
  • View Transitionsの :active-view-transition-type() セレクターと document.activeViewTransition に対応
  • ::marker で counter-* と quotes が有効、Unicode処理ライブラリICUが78(Unicode 17)に更新
  • Storage Access APIで許可済みの場合に、HTTPヘッダーで分割されないCookieを使えるStorage-Access-Headersに対応

サーバー運用で影響が出やすいのは Accept-Language の変更です。第2希望の言語の重み(q値)が0.5から0.9になり、以降は0.1ずつ下がります(最小0.1)。日本語・英語(米国)・英語の順に設定していれば ja,en-US;q=0.9,en;q=0.8 となり、他の主要ブラウザと同じ形です。q値の閾値で言語を振り分けているサーバーは、判定が変わらないか確認してください。

147のまま使う場合のリスクと対応OS

148.0から157.0までの脆弱性修正集計と147の更新終了

147.0.4の後、147系に修正は出ていません。Mozillaの既知の脆弱性一覧で148.0から157.0までのアドバイザリを数えると、デスクトップ版では18本・延べ535件(critical 3、high 224、moderate 208、low 100)が147の後に修正されています。ただし、これは後続版の修正項目の集計であり、全件が147にも影響することを示す数字ではありません。このうち152.0.6(2026年7月14日)で直ったCVE-2026-15718(WebAssembly)とCVE-2026-15719(サイト分離)はcriticalで、アドバイザリには「exploit code for this is public」と書かれています(攻撃での悪用は確認されていないとの記載つき)。

メニューの「ヘルプ」から「Firefox について」を開けば最新版へ更新できます。自動更新が止まっているときの確認はFirefoxの最新版と更新方法をまとめた記事、148の修正版の中身はFirefox 148.0.2の記事を参照してください。

Windows 7〜8.1・macOS 10.12〜10.14向けESR 115のサポート期限

147の公式ダウンロードページは「Firefox is no longer supported on Windows 8.1 and below.」「Firefox is no longer supported on macOS 10.14 and below.」と表示し、ESR(延長サポート版)への切り替えを案内しています。147が動くのはWindows 10以降とmacOS 10.15以降です。

Windows 7〜8.1とmacOS 10.12〜10.14の受け皿はESR 115です。Mozillaのリリース管理サイト(whattrainisitnow.com)には「We have decided to extend support to ESR 115 only on Windows 7-8.1 and macOS 10.12-10.14 up to March 2027.」とあり、2026年9月29日時点の最新は115.42.0esrでした。ESR 115に届くのはセキュリティ修正だけで、147の新機能は入りません。Mozillaは延長の可否を再評価する予定です。サポートが延長されない場合、終了後もFirefoxの更新を受けるには、対応OSへの移行か端末の入れ替えが必要になります。

検証用に147を入手する方法

サイトの互換性検証などで147が必要な場合、Mozillaの配布アーカイブ(archive.mozilla.org/pub/firefox/releases/147.0.4/)からOS・言語別のインストーラーを入手できます。検証用プロファイルを分けて自動更新を止め、未修正の脆弱性が残るため普段のブラウジングには使わないでください。

よくある質問

Firefox 147はいつリリースされましたか?

2026年1月13日です。147.0.4(2月16日)まで修正版が出て、2月24日の148.0で147系の更新は終わりました。

Firefox 147でWebGPUが使えるのはどの環境ですか?

Windows(141から)と、Apple Silicon搭載Macのサポート対象macOS(Tahoeは145から、それ以前は147から)です。Intel CPUのMacとLinuxでは既定で有効になっていません。

Linuxで147に更新すると、既存のプロファイルは~/.configへ移動しますか?

移動しません。~/.mozilla/firefox があればそのまま使い続け、新しい保存先が使われるのは従来の場所が無い状態でプロファイルを作ったときだけです。

Firefox 147はWindows 7や古いmacOSで使えますか?

使えません。Windows 7〜8.1とmacOS 10.12〜10.14はESR 115を使います。セキュリティ修正は2027年3月まで続く予定で、その後はMozillaが再評価するとしています。

Firefox 147で修正された脆弱性は何件ですか?

147系全体で19件です。147.0で16件(high 7・moderate 6・low 3)、147.0.2で2件、147.0.4で1件で、Critical評価と悪用確認の記載はありません。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.15 テックブログ リゾートトラスト不正アクセス:会員2.6万件・カハラ横浜3.6万件の対象確認と窓口
  2. 2026.04.13 コラム ゴルフ賞金の税金はいくら?1,000万円で源泉194万円・確定申告での精算と副賞の車、海外賞金【令和8年分】
  3. 2025.12.23 テックブログ OpenCodeとは?2.0の変更点・インストール・設定・無料モデルを解説【2026年10月】
  4. 2026.10.16 テックブログ ソースネクスト不正アクセスで最大2,252万件流出|ログインできない理由・パスワード再設定と会員APIの点検
  5. 2026.04.12 テックブログ Noetra(ノエトラ)とは|出資44社の一覧、NTT・富士通の参画状況と上場予定

RELATED POSTS 関連記事

目次