Skip to content

Fix trusted executable resolution for git and worker hosts - #3610

Merged
Widthdom merged 6 commits into
mainfrom
fix-issue3433-3455
Jun 13, 2026
Merged

Fix trusted executable resolution for git and worker hosts#3610
Widthdom merged 6 commits into
mainfrom
fix-issue3433-3455

Conversation

@Widthdom

@Widthdom Widthdom commented Jun 13, 2026

Copy link
Copy Markdown
Owner

Summary

  • Resolve GitHelper git invocations through restricted absolute executable candidates instead of ambient PATH, including avoiding the macOS /usr/bin/git developer-tools shim.
  • Remove worker fallback to PATH-resolved dotnet; isolated symbol and hook workers now require a trusted absolute dotnet host path from the current process or standard system install candidates, and fail with a structured diagnostic when one cannot be resolved.
  • Add security changelog fragments for both issues.

Validation

  • dotnet build CodeIndex.sln -c Debug -p:UseSharedCompilation=false
  • dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj -c Debug --no-build --filter FullyQualifiedName~GitHelperTests
  • dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj -c Debug --no-build --filter StartInfo
  • dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj -c Debug --no-build --filter DotnetHostPathResolver
  • dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj -c Debug --no-build --filter FullyQualifiedName~PostExtractionHook
  • dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj -c Debug --no-build --filter FullyQualifiedName~SymbolExtractionWorker
  • dotnet test --no-build --filter "FullyQualifiedName~Issue3433|FullyQualifiedName~Issue3455"
  • dotnet run --project tools/CodeIndex.Changelog -- check
  • git diff --check
  • dotnet ./src/CodeIndex/bin/Debug/net8.0/cdidx.dll index . --json
  • dotnet ./src/CodeIndex/bin/Debug/net8.0/cdidx.dll status --check --json
  • Codex adversarial review: found macOS /usr/bin/git shim risk, fixed it, then reran with No blocking/actionable issues found.

Full suite note: full dotnet test tests/CodeIndex.Tests/CodeIndex.Tests.csproj -c Debug --no-build passed earlier in this branch before the final trusted-path candidate tightening; the final smaller changes were revalidated with the targeted tests and build above.

Fixes #3433
Fixes #3455

@Widthdom
Widthdom marked this pull request as ready for review June 13, 2026 14:01
@Widthdom
Widthdom merged commit 0c93687 into main Jun 13, 2026
10 checks passed
@Widthdom
Widthdom deleted the fix-issue3433-3455 branch June 13, 2026 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Worker child processes should not fall back to PATH-resolved dotnet GitHelper should not resolve git through the ambient PATH

1 participant