If you discover a security vulnerability in dot, please report it by emailing the maintainers or opening a private security advisory on GitHub. Please do not open public issues for security vulnerabilities.
Status: Tracked, waiting for upstream fix
Severity: Low (for this project)
Affected Package: github.com/cli/go-gh@v1.2.1
Description: Violation of GitHub host security boundary when sourcing authentication token within a codespace.
Impact Assessment:
- ✅ Low Risk: This vulnerability specifically affects GitHub Codespaces environments
- ✅ Limited Scope:
dotis a CLI tool primarily used in local development environments - ✅ Fallback Available: The tool has multiple authentication fallback methods (environment variables, SSH keys, no auth)
- ✅ Optional Feature: GitHub CLI authentication is only one of several authentication options
Usage in dot:
The affected code is in internal/adapters/git_auth.go:92 where auth.TokenForHost("github.com") is called as a convenience feature to automatically detect GitHub CLI credentials for HTTPS clones. This is:
- Priority 3 in the authentication chain (after env vars and SSH keys)
- Optional - users can use
GITHUB_TOKENenv var or SSH keys instead - Gracefully degrades - falls back to public/no-auth if unavailable
Mitigation: Users concerned about this vulnerability in codespace environments can:
- Use
GITHUB_TOKENenvironment variable (priority 1) - Use SSH URLs with SSH key authentication (priority 2)
- Avoid using GitHub CLI authentication in codespaces
Resolution Plan:
- Monitor
github.com/cli/go-ghfor security updates - Update dependency immediately when fix is available
- Current version v1.2.1 is the latest available (as of dependency check)
References:
- https://pkg.go.dev/vuln/GO-2024-3295
- Issue tracking: [To be created if needed]
When using dot:
-
Authentication Priority:
- Use
GITHUB_TOKENenvironment variable for automated environments - Use SSH keys for local development
- GitHub CLI detection is a convenience feature, not required
- Use
-
Permissions:
- Review the permissions required for your dotfiles repository
- Use read-only tokens when possible
- Consider using deploy keys for specific repositories
-
Sensitive Data:
- Never commit secrets, tokens, or credentials to your dotfiles
- Use
.gitignorepatterns to exclude sensitive files - Review your dotfiles before making repositories public
-
Updates:
- Keep
dotupdated to receive security patches - Run
dot upgraderegularly - Monitor the changelog for security-related updates
- Keep
When security vulnerabilities are discovered and fixed:
- Patch is developed and tested
- Security advisory is published
- Fixed version is released
- Public announcement after users have time to upgrade (typically 7-14 days)