[{"data":1,"prerenderedAt":232},["ShallowReactive",2],{"content-/chrome-cve-playwright-chromium-update":3,"all-pages-for-dir":210,"related-/chrome-cve-playwright-chromium-update":211,"og-image-/chrome-cve-playwright-chromium-update":231},{"id":4,"title":5,"body":6,"category":190,"concepts":191,"description":192,"extension":193,"meta":194,"navigation":165,"ogImage":191,"path":195,"project_name":196,"published":197,"publishedAt":198,"seo":199,"source":200,"stem":201,"tags":202,"todo":191,"unpublished":197,"updatedAt":191,"__hash__":209},"pages/2026-10/2026-10-09/chrome-cve-playwright-chromium-update.md","Chromeの脆弱性CVE-2026-102322への対応確認：Playwright同梱Chromiumの更新とワークツリー、メモリの棚卸し",{"type":7,"value":8,"toc":174},"minimark",[9,14,18,21,26,29,34,37,40,44,47,50,54,57,65,69,72,75,78,82,85,88,98,101,104,107,110,113,117,120,123,126,129,132,151,154],[10,11,13],"h1",{"id":12},"chromeの脆弱性cve-2026-102322への対応確認playwrightの古いchromiumを掃除しワークツリーとメモリも棚卸しした","Chromeの脆弱性CVE-2026-102322への対応確認：Playwrightの古いChromiumを掃除し、ワークツリーとメモリも棚卸しした",[15,16,17],"p",{},"朝、Chrome に High 級の脆弱性（CVE-2026-102322）があると知った。\n悪意ある Web ページを開くだけで任意コード実行につながる可能性があり、古い Chrome や Playwright の環境は早めの更新が勧められている、という内容だった。\n自分の環境が対応できているのか、Claude Code に調べてもらった。",[15,19,20],{},"Chrome 本体は、すでに修正版になっていた。\nところが Playwright が使う Chromium は、ローカルに残っていたものが全部未対応だった。\n普段開いているブラウザが新しくなっても、テスト用に置いてある Chromium は1つも新しくなっていなかったことになる。",[22,23,25],"h2",{"id":24},"必要な対応を全部の中身","「必要な対応を全部」の中身",[15,27,28],{},"そこで「必要な対応を全部やっといてください」と頼んだ。\n対応の範囲には、Edge の更新と各リポジトリの Playwright の更新が入った。\nまず対象を棚卸ししてもらうと、依存ファイルはどのリポジトリも未変更だった。\n最初は mdx-playground で、Playwright を 1.64 に上げてもらった。",[30,31,33],"h3",{"id":32},"pnpm-のストア不一致で一度止まる","pnpm のストア不一致で一度止まる",[15,35,36],{},"その mdx-playground で、pnpm のストア不一致に当たって止まった。\nルールどおり issue を作ってから、続けてもらった。",[15,38,39],{},"ロックファイルは v9.0 形式だった。\n今の node_modules に合わせて pnpm 11.9.0 で更新し、ロックファイルの差分が Playwright の部分だけに収まっているかを確かめてもらった。",[30,41,43],{"id":42},"tokyo-onkei-は-node_modules-の作り直しで止まる","tokyo-onkei は node_modules の作り直しで止まる",[15,45,46],{},"tokyo-onkei では、古い node_modules を作り直すかどうかの確認で止まった。\nその確認には作り直しで応じる形で、入れ直してもらった。",[15,48,49],{},"dev サーバーの起動を待つあいだに、Chromium 156 本体もダウンロードしてもらった。",[30,51,53],{"id":52},"古い-chromium-を引き留めていたのは-npx-のキャッシュ","古い Chromium を引き留めていたのは npx のキャッシュ",[15,55,56],{},"更新のあと、Playwright は参照の切れた古い版（1208 と 1223、それに WebKit）を自動で消した。\nそれでも 149 系（1228）だけは残っていた。",[15,58,59,60,64],{},"何がまだ参照しているのかを調べてもらうと、参照元は7月に ",[61,62,63],"code",{},"npx playwright"," を実行したときの npx キャッシュ（1.61.1）だけだった。\n一度コマンドを叩いただけのキャッシュが、古い Chromium を手元に引き留めていたわけだ。\nキャッシュなので、それと 149 系のブラウザを削除してもらった。",[30,66,68],{"id":67},"edge-だけは更新を取得できなかった","Edge だけは更新を取得できなかった",[15,70,71],{},"Edge 155.0.4283.45 は 10/8 に配信が始まっていた。\n段階配信でまだ届いていない可能性があるので、winget で取りにいかせた。\nwinget にはまだ来ていなかった。",[15,73,74],{},"次に、Edge の「設定 > バージョン情報」を開かせた。\nこの画面を開くと、その場で更新確認が走るからだ。\nそれでも更新は取得できなかった。",[15,76,77],{},"結果として、Chrome と Playwright は対応を終え、Edge だけが未対応のまま残った。",[22,79,81],{"id":80},"途中で落ちた-dev-サーバー","途中で落ちた dev サーバー",[15,83,84],{},"作業の途中で、再起動した dev サーバーが落ちたという通知が来た。\nClaude Code が起動した分は、7:27:08 に終了していた。\nエラーは出ておらず、正常に再ビルドした直後に終了コード 1 で止まっていた。",[15,86,87],{},"同じ頃、別の Claude セッションがシェルを動かしていた。\nClaude Code の見立てでは、そちらがポート 3000 のプロセスを止めた可能性が高い。\nただ、止めたのがどのセッションかまでは特定できていない。",[15,89,90,91,97],{},"1分待っても誰も起動し直さず、mdx-playground ではビルドも何も動いていなかった。\nnode プロセスも1つも動いていなかったので、dev サーバーを起動し直してもらった。\n",[92,93,94],"a",{"href":94,"rel":95},"http://localhost:3000/",[96],"nofollow"," は、また 200 を返すようになった。",[22,99,100],{"id":100},"ワークツリー13個の再調査",[15,102,103],{},"作業中のワークツリーは、たぶんもう残っていない。\nそう思いながら、13個あるワークツリーをもう一度調べてもらった。",[15,105,106],{},"調べ直した結果、Git_repo 配下の worktree で作業中のものは残っていなかった。\n13個とも main / master に取り込み済みか、2か月前に止まった実験だった。",[15,108,109],{},"ただし、数には訂正が入った。\n以前 Claude Code が出した「Worktree 13 個」は数え違いだった。\nGit_repo 配下の worktree が13個、そのほかに git 管理外の複製が1個（eurekapu-nuxt4-buildcheck）あり、計14フォルダだった。\nさらに Git_repo の外にも worktree が6個見つかったので、合わせて確認してもらった。\n今これらを使っているプロセスはない。",[15,111,112],{},"この報告の時点で、mdx-playground の dev サーバーはまた止まっていた。\nPC のメモリが極端に足りなくなり、Claude Code が自動で止めたものだった。\ndev サーバー自体の不具合ではない。\nメモリがまだ足りない可能性があるため、dev サーバーは止めたままになっている（必要になったら頼めば起動してもらえる）。",[22,114,116],{"id":115},"メモリ83で余計なプロセスは動いていないか","メモリ83%で、余計なプロセスは動いていないか",[15,118,119],{},"別のセッションで、メモリ使用率が83%になっていた。\n余計なプロセスが動いていないか、Claude Code に調べてもらった。",[15,121,122],{},"いちばん大きいのは Node で、23個で7GB を使っていた。\n中身を見ていくと、mdx-playground の dev サーバーが2台重複して動いていた。\nこの2台を止めてもらった。",[15,124,125],{},"メモリ使用率は 79% から 65% に下がり、空きは 6.5GB から 11.1GB に増えた。\n79% は、自分が見た 83% から少し下がった時点で測り始めた値である。",[15,127,128],{},"Node は23個あったが、止めたのは重複していた dev サーバー2台だけだった。\nClaude Code 自身も Node で動いているので、Node を名前でまとめて落とすわけにはいかない、という普段の運用とも合っている。",[22,130,131],{"id":131},"学びメモ",[133,134,135,139,145,148],"ul",{},[136,137,138],"li",{},"Chrome 本体が修正版になっていても、Playwright が使う Chromium は別に残っている。今回はローカルの Chromium が全部未対応だった",[136,140,141,142,144],{},"古いブラウザが消えないときは、参照元を探す。今回は7月の ",[61,143,63],{}," が残した npx キャッシュ（1.61.1）が、149 系の Chromium を引き留めていた",[136,146,147],{},"Edge 155.0.4283.45 は 10/8 に配信が始まっていたが、winget にも「バージョン情報」の更新確認にもまだ来ていなかった（段階配信でまだ届いていない可能性がある）",[136,149,150],{},"「13個」のような数は、フォルダの実数と突き合わせると変わる。今回は Git_repo 配下に13個、git 管理外の複製が1個、Git_repo の外に6個だった",[22,152,153],{"id":153},"残っていること",[133,155,158,168],{"className":156},[157],"contains-task-list",[136,159,162,167],{"className":160},[161],"task-list-item",[163,164],"input",{"disabled":165,"type":166},true,"checkbox"," Edge 155.0.4283.45 への更新（届いたら更新して、CVE-2026-102322 への対応を終える）",[136,169,171,173],{"className":170},[161],[163,172],{"disabled":165,"type":166}," 7:27:08 に dev サーバーを止めたのがどのセッションか（未特定）",{"title":175,"searchDepth":176,"depth":176,"links":177},"",2,[178,185,186,187,188,189],{"id":24,"depth":176,"text":25,"children":179},[180,182,183,184],{"id":32,"depth":181,"text":33},3,{"id":42,"depth":181,"text":43},{"id":52,"depth":181,"text":53},{"id":67,"depth":181,"text":68},{"id":80,"depth":176,"text":81},{"id":100,"depth":176,"text":100},{"id":115,"depth":176,"text":116},{"id":131,"depth":176,"text":131},{"id":153,"depth":176,"text":153},"dev",null,"Chrome の High 級脆弱性 CVE-2026-102322 を受けて、Chrome 本体と Playwright の Chromium の対応状況を調べて更新した記録。Edge は更新を取得できず未対応のまま。あわせてワークツリー13個の再調査と、メモリ83%のときの Node プロセス調査も行った。","md",{},"/chrome-cve-playwright-chromium-update","mdx-playground",false,"2026-10-09T00:00:00.000Z",{"title":5,"description":192},"make-diary","2026-10/2026-10-09/chrome-cve-playwright-chromium-update",[203,204,205,206,207,208],"Chrome","Playwright","セキュリティ","pnpm","git worktree","メモリ","f1cF3vejaS8FyRoU-2oUx5vP3xwHTx_17YQzN1buGtk",[],[212,215,219,223,227],{"title":213,"path":214,"publishedAt":198},"2026年10月9日の開発日記 - 講座動画の実物のExcelを図に置き換え、Playwrightの古いChromiumを掃除した","/2026-10-09-diary",{"title":216,"path":217,"publishedAt":218},"GitHub侵入事件を受けてVS Codeの自動更新を止め、Chrome拡張を53→31に削った話","/extension-purge-after-github-breach","2026-05-20T00:00:00.000Z",{"title":220,"path":221,"publishedAt":222},"npmサプライチェーン攻撃 Shai-Hulud 2.0 への防御設定 - minimum-release-ageで新規バージョンをブロック","/npm-supply-chain-defense","2026-04-03T00:00:00.000Z",{"title":224,"path":225,"publishedAt":226},"テスト基盤整備とカバレッジ改善 - 8ステップ計画で0から215テストを積み上げた一日","/test-infrastructure-coverage-2026-03-02","2026-03-02T00:00:00.000Z",{"title":228,"path":229,"publishedAt":230},"Eurekapu簿記問題集をNuxt4へ移行 - 2カラムUI・テスト整備・パフォーマンス99%改善まで","/eurekapu-quiz-migration-2026-02-20","2026-02-20T00:00:00.000Z","https://log.eurekapu.com/og/blog/chrome-cve-playwright-chromium-update.png?v=2026-10-09T00%3A00%3A00.000Z&title=Chrome%E3%81%AE%E8%84%86%E5%BC%B1%E6%80%A7CVE-2026-102322%E3%81%B8%E3%81%AE%E5%AF%BE%E5%BF%9C%E7%A2%BA%E8%AA%8D%EF%BC%9APlaywright%E5%90%8C%E6%A2%B1Chromium%E3%81%AE%E6%9B%B4%E6%96%B0%E3%81%A8%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%84%E3%83%AA%E3%83%BC%E3%80%81%E3%83%A1%E3%83%A2%E3%83%AA%E3%81%AE%E6%A3%9A%E5%8D%B8%E3%81%97&author=Kei%20Komatsu&sig=ac61f0ade77bf143",1791766734237]