セキュリティ脆弱性だった

Zedのバグミッケで報告したバグが、セキュリティの脆弱性になり得るんじゃないかと考えていたんだけど、シナリオを思い付いて検証出来たので、PR内容を変更した。

コラボレーション機能と組み合わさると、プライベートファイルの漏洩につながる可能性がある。

  1. case-insensitiveなAPFS/NTFS上に Secrets/token.txt があり、Secrets/** をprivate指定する。
  2. 参加者が casingを変えた secrets/token.txtOpenBufferByPath で要求する。
  3. OSは同じ実ファイルを開く一方、修正前のZedはstaleな小文字パスでprivate判定する。
  4. case-sensitiveなパスマッチに失敗し、privateファイルが非privateとして参加者へ共有され得る。

ファイル、抜けるねぇ……。