{"version":"2.1.248","anchor":"command-inspection-no-longer-fooled-by-proc-paths-or-git-red","canonical_anchor":"command-inspection-no-longer-fooled-by-proc-paths-or-git-red","heading":"Command inspection no longer fooled by \/proc paths or git redirection flags","tier":"notice","area":"Permissions","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248\/e\/command-inspection-no-longer-fooled-by-proc-paths-or-git-red","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.248","markdown":"### Command inspection no longer fooled by \/proc paths or git redirection flags\n\nCommand path checks now reject \/proc and \/dev descriptor tricks and handle git redirection flags.\n\n**What**\n\nThe path checks that decide whether a command touches something you have not permitted now normalise away `\/.\/` and doubled slashes before matching, and reject paths under `\/proc\/self`, `\/proc\/thread-self`, numbered `\/proc\/<pid>` directories and `\/dev\/fd`, `\/dev\/stdin`, `\/dev\/stdout`, `\/dev\/stderr`. Git flags that redirect where a repo lives get special treatment. Active in this build with no flag to set.\n\n**Details**\n\n- Flags handled specially include `--git-dir`, `--work-tree`, `--namespace`, `--attr-source` and `--shallow-file`, plus environment variables such as `GIT_INDEX_FILE`.\n- These were all ways to name a file the permission check would not recognise as the file actually being read or written.\n\n**Evidence**\n\n`\/(^|[\\\\\/])proc[\\\\\/](self|thread-self|\\d+)([\\\\\/]|$)\/i`\n\n- Area: Permissions\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5"}