NetSwitch takes security seriously. This document outlines our security policies, vulnerability reporting procedures, and the security measures implemented in the application.
Security updates and patches are provided for the following versions of NetSwitch:
| Version | Supported | Security Updates |
|---|---|---|
| 1.1.1 | β Yes | β Active |
| < 1.0 | β No | β End of Life |
Note: Only the latest stable release receives security updates. Users are strongly encouraged to update to the latest version.
NetSwitch implements multiple layers of security protection:
- β String Sanitization: All user inputs are sanitized to remove control characters and malicious content
- β IP Address Validation: Comprehensive IPv4 and IPv6 address validation with strict format checking
- β Network Adapter Validation: Sanitization of network adapter names to prevent injection attacks
- β Command Argument Sanitization: All subprocess arguments are cleaned and validated
- β Length Limits: Input length restrictions to prevent buffer overflow attacks
- β Parameterized Commands: All system commands use parameterized execution
- β Whitelist Validation: Only predefined, safe commands are executed
- β Argument Escaping: Special characters are properly escaped or removed
- β Timeout Protection: All system operations have timeout limits
- β Safe Defaults: Secure fallback values for all operations
- β Error Handling: Sanitized error messages that don't leak system information
- β Thread Safety: Background operations use daemon threads
- β Resource Management: Proper cleanup of system resources
- β No Credential Storage: Application doesn't store passwords or sensitive credentials
- β Minimal Privileges: Requests only necessary system permissions
- β Local Operation: All operations are performed locally (no data transmission)
- β Memory Safety: Sensitive data is not retained in memory unnecessarily
We take security vulnerabilities seriously and appreciate responsible disclosure.
If you discover a security vulnerability in NetSwitch, please follow these steps:
- DO NOT create a public GitHub issue for security vulnerabilities
- DO NOT discuss the vulnerability publicly until it has been resolved
- DO report vulnerabilities through one of these secure channels:
- Email: securitygithubissue@fnbubbles420.org
- Subject:
[SECURITY] NetSwitch Vulnerability Report - PGP Key: Available upon request for encrypted communications
- Use GitHub's private vulnerability reporting feature
- Navigate to the repository's Security tab
- Click "Report a vulnerability"
Please provide as much information as possible:
1. Description of the vulnerability
2. Steps to reproduce the issue
3. Potential impact and severity
4. Affected versions
5. Any proof-of-concept code (if applicable)
6. Suggested fix or mitigation (if known)
7. Your contact information for follow-up
- β Do not include actual exploits that could cause harm
- β Do not test vulnerabilities on systems you don't own
- β Do not access or modify data that doesn't belong to you
# Always verify Python installation
python --version # Should be 3.11.9+
# Use virtual environments
python -m venv netswitch-env
netswitch-env\Scripts\activate
# Install from trusted sources only
pip install customtkinter>=5.2.2
# Verify file integrity (if checksums provided)- π Run as Administrator: Required for DNS changes, but understand the implications
- π Monitor Changes: Review DNS changes before applying
- π« Avoid Custom Scripts: Don't modify the application code without understanding
- π± Keep Updated: Always use the latest version for security fixes
- π₯ Firewall: Ensure Windows Firewall is enabled
- π‘οΈ Antivirus: Keep antivirus software updated
- π DNS Security: Use reputable DNS providers (Cloudflare, Google, Quad9)
- π Monitor Traffic: Be aware of network changes after DNS modifications
# Always sanitize inputs
user_input = sanitize_string(user_input, max_length=100)
# Validate before processing
if not is_valid_ip(dns_address):
return False
# Use timeouts for operations
subprocess.run(cmd, timeout=30)
# Handle errors securely
except Exception as e:
error_msg = sanitize_string(str(e), 200)
log_error(html.escape(error_msg))- π Secure Development: Use secure coding practices
- π§ͺ Security Testing: Test with malicious inputs
- π Code Review: Review all security-related changes
- π Dependency Scanning: Monitor dependencies for vulnerabilities
Risk: NetSwitch requires administrator privileges to modify DNS settings.
Mitigation:
- Application requests minimal necessary permissions
- All operations are logged and transparent
- Users are informed about privilege requirements
- No unnecessary system access is performed
Risk: Application executes system commands (netsh, ipconfig, ping).
Mitigation:
- Commands are hardcoded and parameterized
- All arguments are sanitized and validated
- Timeout limits prevent hanging operations
- Only safe, predefined commands are executed
Risk: Modifying DNS settings affects network connectivity.
Mitigation:
- Changes are reversible
- Safe fallback DNS servers are available
- User confirmation required for changes
- Clear status feedback provided
Risk: Third-party dependencies may contain vulnerabilities.
Mitigation:
- Minimal dependency footprint
- Regular dependency updates
- Vulnerability monitoring
- Trusted sources only (PyPI)
- Input validation on all user inputs
- Command injection prevention measures
- Proper error handling without information leakage
- Secure defaults for all configurations
- Timeout protection on all operations
- Memory safety considerations
- Privilege escalation prevention
- Dependency vulnerability assessment
We welcome security reviews from the community:
- Code Review: Security-focused code reviews
- Penetration Testing: Controlled security testing
- Vulnerability Assessment: Systematic security evaluation
- Bug Bounty: Responsible disclosure program
Our commitment to security vulnerability response:
| Timeline | Action |
|---|---|
| 24 hours | Initial acknowledgment of report |
| 72 hours | Preliminary assessment and severity rating |
| 7 days | Detailed investigation and reproduction |
| 14 days | Fix development and testing |
| 21 days | Patch release and public disclosure |
| 30 days | Post-incident review and improvements |
Note: Timeline may vary based on vulnerability severity and complexity.
| Level | Description | Response Time |
|---|---|---|
| π΄ Critical | Remote code execution, privilege escalation | 24-48 hours |
| π‘ High | Local privilege escalation, data exposure | 3-7 days |
| π Medium | Denial of service, information disclosure | 7-14 days |
| π’ Low | Minor security improvements | 14-30 days |
- Email: securitygithubissue@fnbubbles420.org
- Response Time: Within 72 hours
- Languages: English
Key ID: [To be provided]
Fingerprint: [To be provided]
Key Server: keys.openpgp.org
We thank the following security researchers and contributors:
- Security research community
- Python security team
- CustomTkinter security contributors
- Responsible disclosure participants
This security policy is reviewed and updated regularly:
- Last Updated: August 23, 2025
- Next Review: November 23, 2025
- Version: 1.1.1
Changes to this policy will be announced through:
- GitHub repository updates
- Release notes
- Security advisories
Thank you for helping keep NetSwitch secure! π‘οΈ
For general questions about NetSwitch, please use the regular support channels. This security contact is exclusively for security-related issues.