Skip to content

原文(日本語に翻訳)

PowerShellのパーミッションバイパスを修正しました: 組み込みの cd 関数(cd..cd\cd~X:)がワークスペース外のディレクトリへの移動を検出されずに実行できてしまい、後続コマンドがワークスペース外を読み取れる状態になっていました。

原文(英語)

Fixed a PowerShell permission bypass: built-in cd functions (cd.., cd\, cd~, X:) changed the working directory undetected, letting a later command read outside the workspace

概要

PowerShell環境でのセキュリティ上の問題が修正されました。cd..cd\cd~X:(ドライブレター指定)などのPowerShell組み込みショートカット形式のディレクトリ変更コマンドが、Claude Codeのパーミッションチェックを回避してワークスペース外へ移動できてしまう脆弱性です。この修正により、すべての形式のディレクトリ移動コマンドが適切にチェックされるようになります。

影響を受けていたケース

以下のようなコマンドがパーミッションチェックなしに実行できていました。

powershell
cd..          # 親ディレクトリへ移動
cd\           # ルートへ移動
cd~           # ホームディレクトリへ移動
C:            # ドライブCのルートへ移動
D:\secret     # 別ドライブのディレクトリへ移動

この後に実行する Get-Contentlscat などのコマンドが、ワークスペース外のファイルを読み取れてしまう状態でした。

修正後の動作

2.1.149以降では、上記の組み込みcdコマンド形式もパーミッション解析の対象になります。ワークスペース外への移動はパーミッション設定に従って制御されます。

実践例

セキュリティ設定の確認

Windows環境でClaude Codeを使用している場合は、2.1.149へのアップデートを確認してください。

powershell
# バージョン確認
claude --version

影響のある環境

  • Windows上でPowerShellをシェルとして使用しているClaude Codeユーザー
  • エンタープライズ環境でClaude Codeを複数ユーザーに展開している場合

注意点

  • この修正はWindowsのPowerShell環境のみに影響します(bash/zshは対象外)
  • 正規のワークスペース内でのディレクトリ移動は引き続き正常に動作します
  • 更新は claude update または最新版のインストーラーで適用できます

関連情報