Claude Code 2.1.251 - Claude Code、承認した場所の外を読み書きしうる不具合を修正。2.1.251へ更新を anchor left anchor right

Aug 30 2026 AIニュース

Claude Code、承認した場所の外を読み書きしうる不具合を修正。2.1.251へ更新を

anchor left anchor right

Claude Code 2.1.251 は、権限チェックを通ったはずの操作が承認範囲の外へ出られた経路をまとめて塞いだ、2026年8月28日公開の更新です。CVE番号や深刻度は公式に未記載です。

📖 この記事で分かること

  • 2.1.251で修正された権限まわりの中身
  • シンボリックリンク経由で境界が崩れる仕組み
  • 設定から権限を迂回できた経路の締め直し
  • 同時に入ったフックと表示系の新機能

💡 知っておきたい用語

  • シンボリックリンク: フォルダやファイルへの「近道の看板」。看板の行き先を後から書き換えると、同じ道を通ったつもりで別の場所に着きます。

最終更新日: 2026年8月30日

▶ 公式ページ

Claude Code 2.1.251 - Claude Code、承認した場所の外を読み書きしうる不具合を修正。2.1.251へ更新を

Claude Code 2.1.251 で何が変わったか

この記事のポイント

  • Anthropic が 2026年8月28日、Claude Code 2.1.251(2026年8月時点)を公開しました。
  • 中心は、権限チェックを通ったはずの操作が承認範囲の外へ出られた経路の修正です。
  • CVE 番号・深刻度・悪用の有無は公式チェンジログに未記載です。更新の適用が対処になります。

Claude Code 2.1.251 は、機能追加より修正の比重が大きいリリースです。とくに目立つのが、ファイル操作・検索・スクリプト実行といった、権限チェックを通る主要な入口にまたがる修正がまとめて入っている点です。同じ 8月28日には 2.1.250 も公開されていますが、公式チェンジログ上の記載は「Bug fixes and reliability improvements」の一行のみです。

なお、これらの修正について公式チェンジログは CVE 番号も深刻度の格付けも、実際に悪用されたかどうかも記載していません。本記事では記載された挙動の範囲だけを扱います。

権限チェックをすり抜けうる経路の修正

修正の多くは「権限チェックそのものの誤り」ではなく、チェックと実際の実行のあいだ、あるいはチェックの適用漏れに集中しています。

チェンジログに記載された主なものは次のとおりです。

  • ファイル操作ツール(Read / Write / Edit)が、権限チェックの後に作業ディレクトリ内で差し替えられたシンボリックリンクを辿ってしまい、承認された場所の外を読み書きしうる問題を修正
  • Grep と Glob が、シンボリックリンク経由の検索パスに対して Read(...) の deny ルールを適用していなかった問題を修正
  • Workflow ツールが、権限チェックの実行前に、セッションが読んでよい範囲の外にある scriptPath を読み、さらにエラーメッセージにその内容を引用していた問題を修正
  • マーケットプレイス登録のプラグインコマンドが、プラグインディレクトリの外を指せた問題を修正。以後は path-traversal エラーとして拒否されます
  • Bash の権限チェックが、整数シェル変数への算術式代入(例: OPTIND=1/0RANDOM=2+2)を自動承認していた問題を修正。以後は承認プロンプトが出ます

加えて、プロジェクト設定から詳細ベータトレースや生の API ボディログを有効化できた問題と、下位スコープのベータトレース用エンドポイントが、managed settings やホストアプリで固定した OTLP コレクタを迂回できた問題も修正されています。

設定経由の抜け道を締め直した変更

「Changed」として、既定の挙動そのものを厳しくした項目も入りました。設定ファイル経由で権限や隔離を弱められる余地を減らす方向です。

  • サンドボックスの TLS を終端する、通信を自前プロキシに通す、資格情報を注入する、サンドボックス分離を弱める、といった server-managed settings は、適用前に承認が必要になりました
  • managed / project settings 由来の ANTHROPIC_CUSTOM_HEADERS は、資格情報・組織/テナント・ルーティング・API 挙動に関わるヘッダ(AuthorizationHost など)を設定する場合に承認が必要になりました
  • プロジェクトの .claude/settings.jsonenv から CLAUDE_CONFIG_DIRCLAUDE_CODE_TMPDIRTMPDIR / TMP / TEMP を設定できなくなりました(シェル、ユーザー設定、managed settings で設定します)
  • サンドボックス実行時の Bash 出力ファイルの作成と読み戻し方法が変わり、サンドボックス内のコマンドがそれをリダイレクトしたり置き換えたりできなくなりました
  • Claude in Chrome のブラウザ操作は、テレメトリを無効にしたセッションも含め、常に Claude Code の権限チェックを通るようになりました(従来は Chrome 拡張側のプロンプトを使用)

リポジトリに置かれた設定ファイルをそのまま読み込む運用では、この 3 点目と 5 点目の影響が出やすい部分です。

同時に入った機能追加

修正が中心のリリースですが、開発体験に関わる追加もあります。

まずフックに PreModelSwitchPostModelSwitch が加わり、モデルの切り替えをブロック・確認・注釈できるようになりました。SessionStart の resume フックは、セッションの陳腐化の度合いと再キャッシュの推定コストを受け取ります。

表示系では、/usage に Spend limit バーが追加され、ステータスライン用に rate_limits.spend_limit フィールドが用意されました。/cost にはセッション単位のプロンプトキャッシュの行(ヒット率、ミス、再キャッシュされたトークン数、warm / cold)が加わり、ステータスラインスクリプト向けに prompt_cache オブジェクトも参照できます。

そのほか、claude --helpattachlogsstoprespawnrm が追加され、フォアグラウンドのサブエージェントについてはツール呼び出しと結果が Remote Control クライアントへライブ配信されるようになりました(既定であるバックグラウンドのサブエージェントは、従来どおりステータスのみ)。座席課金の Enterprise 契約は既定モデルが Opus 5(2026年8月時点)に変わっています。

サイズ面では、ネイティブバイナリが約 5MB 小さくなり、利用の少ない 6 言語(1c、gml、isbl、mathematica、maxima、sqf)のシンタックスハイライト削除でさらに 2.5MB 減りました。Opus 5 で effort が xhigh / max かつ thinking を無効にしたときにリクエストが失敗していた問題も修正され、その場合は effort が high として送信されます。

編集部の見方

編集部は、このリリースで最も重要なのは新機能ではなく、権限チェックと実行のあいだを塞いだ修正群だと見ます。自動承認を広く許可している運用ほど、この更新の効き目は大きく、逆に適用を遅らせたときの露出も大きくなります。

  • 根拠1: 修正対象が Read / Write / Edit、Grep / Glob、Workflow、Bash と、権限チェックを通る主要な入口にまたがっています。単発の不具合というより、同じ形の経路をまとめて塞いだ構成です。
  • 根拠2: ファイル操作の件は「権限チェックの後に差し替えられた」シンボリックリンクを辿ると明記されています。チェック自体が正しく動いていても、実行時点の結果が変わりうることを示しています。
  • 根拠3: 「Changed」側でも、サンドボックス分離を弱める設定や ANTHROPIC_CUSTOM_HEADERS が承認必須へ移りました。設定経由の迂回を既定で塞ぐ方向がはっきりしています。

この見方が変わる条件は、公式が後から CVE 番号や深刻度、悪用の有無を公表した場合です。現時点のチェンジログにその記載はなく、緊急度は各自の運用前提から判断することになります。


よくある質問

Q: 修正された問題に CVE 番号は付いていますか

A: 公式チェンジログに CVE 番号の記載はありません。深刻度の格付けや、実際に悪用されたかどうかについても記載されていません。

Q: 承認済みのディレクトリを指定していれば安全だったのではないですか

A: 今回修正された挙動は、権限チェックを通った後に作業ディレクトリ内でシンボリックリンクが差し替えられた場合に、承認された場所の外を読み書きしうるというものです。承認範囲の指定が正しくても結果が変わりうる点が、この修正の対象です。

Q: プロジェクト設定で環境変数を設定していた場合はどうなりますか

A: プロジェクトの .claude/settings.jsonenv からは CLAUDE_CONFIG_DIRCLAUDE_CODE_TMPDIRTMPDIR / TMP / TEMP を設定できなくなりました。これらはシェル、ユーザー設定、managed settings 側で設定します。


まとめ

Claude Code 2.1.251 は、権限チェックを通った操作が承認範囲の外へ出られた経路をまとめて塞いだリリースです。ファイル操作・検索・Workflow・Bash と対象が横断的で、設定ファイル経由で隔離を弱める操作も承認必須に変わりました。公式チェンジログは CVE 番号や深刻度を記載しておらず、判断材料は記載された挙動そのものになります。自動承認の範囲を広く取っている環境ほど、更新の適用を先送りする理由は小さくなります。


【用語解説】

  • path-traversal: 指定されたフォルダの外へ、パスの書き方を工夫して抜け出す操作。今回のプラグインコマンドの修正では、これがエラーとして拒否されるようになりました。
  • サンドボックス: コマンドを隔離した環境で実行し、外側へ影響が及ばないようにする仕組み。
  • OTLP コレクタ: 動作ログや計測データの送信先となる収集サーバー。managed settings で送信先を固定する運用があります。

引用元:


この記事について: AI 支援で執筆、編集部が事実確認・編集しています。誤りや追加情報があれば Contact よりお知らせください。

anchor left anchor right
KOJI TANEMURA

15 年以上の開発経験を持つソフトウェアエンジニア / テクノロジーライター。AI エージェントの実務活用を研究し、現場や経営者向けセミナーでその知見を発信。本メディア tech-noisy.com では、一次情報に基づく最新ニュース・解説記事を執筆。また、音楽生成 AI による DJ パフォーマンスを企業イベントで行うなど、テクノロジーと表現の融合も探求している。