We release security updates for the following versions:
| Version | Supported |
|---|---|
| 3.1.x | ✅ |
| 3.0.x | ✅ |
| < 3.0 | ❌ |
Please do not report security vulnerabilities through public GitHub issues.
Email: security@uuxo.net
Include in your report:
- Description - Clear description of the vulnerability
- Impact - What an attacker could achieve
- Reproduction - Step-by-step instructions to reproduce
- Version - Affected dbbackup version(s)
- Environment - OS, database type, configuration
- Proof of Concept - Code or commands demonstrating the issue (if applicable)
- Initial Response: Within 48 hours
- Status Update: Within 7 days
- Fix Timeline: Depends on severity
- Critical: 1-3 days
- High: 1-2 weeks
- Medium: 2-4 weeks
- Low: Next release cycle
Critical:
- Remote code execution
- SQL injection
- Arbitrary file read/write
- Authentication bypass
- Encryption key exposure
High:
- Privilege escalation
- Information disclosure (sensitive data)
- Denial of service (easily exploitable)
Medium:
- Information disclosure (non-sensitive)
- Denial of service (requires complex conditions)
- CSRF attacks
Low:
- Information disclosure (minimal impact)
- Issues requiring local access
Encryption Keys:
- ✅ Generate strong 32-byte keys:
head -c 32 /dev/urandom | base64 > key.file - ✅ Store keys securely (KMS, HSM, or encrypted filesystem)
- ✅ Use unique keys per environment
- ❌ Never commit keys to version control
- ❌ Never share keys over unencrypted channels
Database Credentials:
- ✅ Use read-only accounts for backups when possible
- ✅ Rotate credentials regularly
- ✅ Use environment variables or secure config files
- ❌ Never hardcode credentials in scripts
- ❌ Avoid using root/admin accounts
Backup Storage:
- ✅ Encrypt backups with
--encryptflag - ✅ Use secure cloud storage with encryption at rest
- ✅ Implement proper access controls (IAM, ACLs)
- ✅ Enable backup retention and versioning
- ❌ Never store unencrypted backups on public storage
Docker Usage:
- ✅ Use specific version tags (
:v3.2.0not:latest) - ✅ Run as non-root user (default in our image)
- ✅ Mount volumes read-only when possible
- ✅ Use Docker secrets for credentials
- ❌ Don't run with
--privilegedunless necessary
Code Security:
- Always validate user input
- Use parameterized queries (no SQL injection)
- Sanitize file paths (no directory traversal)
- Handle errors securely (no sensitive data in logs)
- Use crypto/rand for random generation
Dependencies:
- Keep dependencies updated
- Review security advisories for Go packages
- Use
go mod verifyto check integrity - Scan for vulnerabilities with
govulncheck
Secrets in Code:
- Never commit secrets to git
- Use
.gitignorefor sensitive files - Rotate any accidentally exposed credentials
- Use environment variables for configuration
AES-256-GCM:
- Uses authenticated encryption (prevents tampering)
- PBKDF2 with 600,000 iterations (OWASP 2023 recommendation)
- Unique nonce per encryption operation
- Secure random generation (crypto/rand)
Key Management:
- Keys are NOT stored by dbbackup
- Users responsible for key storage and management
- Support for multiple key sources (file, env, passphrase)
Credential Handling:
- Credentials passed via environment variables
- Connection strings support sslmode/ssl options
- Support for certificate-based authentication
Network Security:
- Supports SSL/TLS for database connections
- No credential caching or persistence
- Connections closed immediately after use
Cloud Provider Security:
- Uses official SDKs (AWS, Azure, Google)
- Supports IAM roles and managed identities
- Respects provider encryption settings
- No credential storage (uses provider auth)
| Date | Auditor | Scope | Status |
|---|---|---|---|
| 2025-11-26 | Internal Review | Initial release audit | ✅ Pass |
Coordinated Disclosure:
- Reporter submits vulnerability privately
- We confirm and assess severity
- We develop and test a fix
- We prepare security advisory
- We release patched version
- We publish security advisory
- Reporter receives credit (if desired)
Public Disclosure:
- Security advisories published after fix is available
- CVE requested for critical/high severity issues
- Credit given to reporter (unless anonymity requested)
Notification Channels:
- Security advisories on repository
- Release notes for patched versions
- Email notification (for enterprise users)
Updating:
# Check current version
./dbbackup --version
# Download latest version
wget https://git.uuxo.net/PlusOne/dbbackup/releases/latest
# Or pull latest Docker image
docker pull git.uuxo.net/PlusOne/dbbackup:latestSecurity Issues: security@uuxo.net
General Issues: https://git.uuxo.net/PlusOne/dbbackup/issues
Repository: https://git.uuxo.net/PlusOne/dbbackup
We take security seriously and appreciate responsible disclosure. 🔒
Thank you for helping keep dbbackup and its users safe!