We release patches for security vulnerabilities in the following versions:
| Version | Supported |
|---|---|
| 0.1.x | ✅ |
| < 0.1 | ❌ |
We take security bugs seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions.
Please do not report security vulnerabilities through public GitHub issues.
Instead, please report them via email to:
When reporting a security vulnerability, please include:
- Description: A clear description of the vulnerability
- Steps to Reproduce: Detailed steps to reproduce the issue
- Impact: Description of the potential impact
- Environment: OS, Rust version, cryptographic setup, and any other relevant details
- Proof of Concept: If possible, include a minimal code example that demonstrates the issue
- Acknowledgment: We will acknowledge receipt of your report within 48 hours
- Initial Assessment: We will provide an initial assessment within 5 business days
- Regular Updates: We will keep you informed of our progress
- Resolution: We will work with you to resolve the issue and coordinate disclosure
- Initial Response: Within 48 hours
- Status Update: Within 5 business days
- Resolution: Within 30 days (depending on complexity)
When reporting vulnerabilities, please consider:
- Cryptographic Security: Weaknesses in cryptographic algorithms
- Key Management: Exposure of private keys
- Side-Channel Attacks: Timing attacks, power analysis
- Implementation Vulnerabilities: Bugs in cryptographic implementations
- Performance: DoS through resource exhaustion
- Memory Safety: Unsafe memory operations or buffer overflows
Common attack vectors to test:
- Private Key Exposure: Leaked or weak private keys
- Side-Channel Attacks: Timing attacks, power analysis
- Cryptographic Weaknesses: Algorithm vulnerabilities
- Implementation Bugs: Bugs in cryptographic code
- Resource Exhaustion: DoS through resource consumption
- Memory Attacks: Buffer overflows, use-after-free
- Key Recovery: Recovery of private keys
- Secure Private Keys: Store private keys securely
- Use Strong Randomness: Use cryptographically secure random number generation
- Keep the library updated to the latest version
- Monitor for security advisories
- Implement proper access controls
- Use hardware security modules for critical applications
- Test with malicious inputs regularly
- Implement defense in depth
- Use the library correctly according to documentation
- Consider additional validation for critical applications
- Monitor security updates
- Implement proper key management
- NIST Standards: FIPS 203, FIPS 204 compliance
- Hybrid Cryptography: Defense in depth
- Memory Safety: Rust's memory safety guarantees
- Zeroization: Secure memory clearing
- Type Safety: Compile-time type safety
- Configurable Security: Adjustable security settings
- Private Key Management: Secure storage and rotation
- Hardware Security: Use HSMs for critical applications
- Side-Channel Protection: Implement constant-time operations
- Access Controls: Implement proper access controls
- Logging: Log security events for monitoring
- Regular Updates: Keep dependencies and the library updated
- Assessment: We assess the severity and impact
- Fix Development: We develop a fix in private
- Testing: We thoroughly test the fix
- Release: We release the fix with a security advisory
- Disclosure: We coordinate disclosure with reporters
Security advisories are published on:
- GitHub Security Advisories: https://github.com/redasgard/quantum-shield/security/advisories
- Crates.io: Security notices in release notes
- Email: Subscribers to security@redasgard.com
We follow responsible disclosure practices:
- Private Reporting: Report vulnerabilities privately first
- Coordinated Disclosure: We coordinate disclosure timing
- Credit: We give credit to security researchers
- No Legal Action: We won't take legal action against good faith research
- Test Responsibly: Don't test on production systems
- Respect Privacy: Don't access or modify data
- Report Promptly: Report findings as soon as possible
- Follow Guidelines: Follow this security policy
In Scope:
- Cryptographic security vulnerabilities
- Key management issues
- Side-channel attack vulnerabilities
- Implementation bugs
- Memory safety issues
- Performance DoS attacks
Out of Scope:
- Social engineering attacks
- Physical security issues
- Issues in dependencies (report to their maintainers)
- Issues in applications using this library
- Issues in cryptographic algorithms themselves
For security-related questions or to report vulnerabilities:
- Email: security@redasgard.com
- PGP Key: Available upon request
- Response Time: Within 48 hours
We thank the security researchers who help keep our software secure. Security researchers who follow responsible disclosure practices will be acknowledged in our security advisories.
By reporting a security vulnerability, you agree to:
- Not disclose the vulnerability publicly until we've had a chance to address it
- Not access or modify data that doesn't belong to you
- Not disrupt our services or systems
- Act in good faith to avoid privacy violations, destruction of data, and interruption or degradation of our services
Thank you for helping keep Quantum Shield and our users safe! 🔐🛡️