We release patches for security vulnerabilities for the following versions:
| Version | Supported |
|---|---|
| 1.x.x | ✅ |
| < 1.0 | ❌ |
If you discover a security vulnerability within CNPG Storage Manager, please follow responsible disclosure practices:
- Do NOT open a public GitHub issue for security vulnerabilities
- Email security concerns to: security@supporttools.io
- Include the following in your report:
- Description of the vulnerability
- Steps to reproduce
- Potential impact
- Suggested fix (if any)
- Acknowledgment: Within 48 hours
- Initial Assessment: Within 5 business days
- Resolution Timeline: Depends on severity
- Critical: 7 days
- High: 14 days
- Medium: 30 days
- Low: 90 days
When deploying CNPG Storage Manager:
- Use the principle of least privilege
- The controller only needs permissions defined in
config/rbac/ - Review ClusterRole before deployment
- Consider restricting egress to only required endpoints
- Limit ingress to metrics port (8080) if exposed
- Never commit credentials to the repository
- Use Kubernetes Secrets for sensitive data
- Consider using external secret management (Vault, AWS Secrets Manager)
- Run as non-root user (already configured)
- Use read-only root filesystem where possible
- Regularly update to latest versions
- Store webhook URLs and API keys as Kubernetes Secrets
- Use secretKeyRef in StoragePolicy for sensitive values
- Rotate credentials regularly
This project uses:
- Gosec: Static security analysis for Go
- Trivy: Vulnerability scanning for dependencies and container images
- Dependabot: Automated dependency updates
Security scans run on every pull request and can be viewed in the GitHub Actions tab.
The WAL cleanup feature executes commands inside CNPG pods. This requires:
pods/execpermission in the controller's ClusterRole- Trust in the container image running in CNPG pods
Mitigations:
- Commands are strictly defined (no user input in exec)
- Only targets pods with CNPG labels
- Dry-run mode available for testing
PVC expansion requires:
persistentvolumeclaimsupdate permission- StorageClass must support volume expansion
The controller validates StorageClass capabilities before attempting expansion.