We release patches for security vulnerabilities in the following versions:
| Version | Supported |
|---|---|
| 0.14.x | ✅ |
| 0.13.x | ✅ |
| 0.12.x | ✅ |
| 0.11.x | ✅ |
| < 0.11 | ❌ |
We take the security of SwiftFTR seriously. If you believe you have found a security vulnerability, please report it to us as described below.
Please do not report security vulnerabilities through public GitHub issues.
Instead, please report them via one of these methods:
- Email: Send details to the maintainers (see CODEOWNERS file)
- GitHub Security Advisory: Create a security advisory
Please include the following information to help us understand the nature and scope of the issue:
- Type of issue (e.g., buffer overflow, privilege escalation, data exposure)
- Full paths of source file(s) related to the issue
- Location of affected code (tag/branch/commit or direct URL)
- Any special configuration required to reproduce the issue
- Step-by-step instructions to reproduce the issue
- Proof-of-concept or exploit code (if possible)
- Impact of the issue, including how an attacker might exploit it
- Initial Response: Within 48 hours, we will acknowledge receipt of your report
- Assessment: Within 7 days, we will provide an initial assessment and expected resolution timeline
- Resolution: Critical vulnerabilities will be addressed as quickly as possible, typically within 30 days
- We will work with you to understand and resolve the issue promptly
- We will credit you for the discovery in our release notes (unless you prefer to remain anonymous)
- We ask that you give us reasonable time to address the issue before public disclosure
When using SwiftFTR:
- Keep Updated: Always use the latest version to benefit from security patches
- Network Permissions: Be aware that SwiftFTR requires network access for ICMP operations
- Input Validation: When integrating SwiftFTR, validate all user inputs before passing to trace functions
- Error Handling: Properly handle errors to avoid exposing sensitive network topology information
SwiftFTR includes several security-conscious design choices:
- No sudo required: Uses SOCK_DGRAM instead of raw sockets on macOS
- Actor-based concurrency: Thread-safe by design with Swift 6 strict concurrency
- Input sanitization: Validates IP addresses and hostnames before operations
- Timeout enforcement: All operations have configurable timeouts to prevent resource exhaustion
SwiftFTR minimizes external dependencies to reduce attack surface:
- Swift Argument Parser (CLI only)
- Swift DocC Plugin (documentation only)
- Swift-IP2ASN (offline ASN lookups, used by
.embedded/.hybridresolver strategies)
We regularly review and update dependencies for security patches.
For any security-related questions that don't require reporting a vulnerability, please open a discussion in our GitHub repository.