We release patches for security vulnerabilities. Which versions are eligible for receiving such patches depends on the CVSS v3.0 Rating:
| Version | Supported |
|---|---|
| 1.0.x | β |
| < 1.0 | β |
The DEB8 team takes security bugs seriously. We appreciate your efforts to responsibly disclose your findings.
DO NOT create a public GitHub issue for security vulnerabilities.
Instead, please report security vulnerabilities by emailing:
π§ [email protected]
Please include the following information in your report:
- Type of vulnerability (e.g., XSS, SQL injection, authentication bypass)
- Full paths of source file(s) related to the vulnerability
- Location of the affected source code (tag/branch/commit or direct URL)
- Step-by-step instructions to reproduce the issue
- Proof-of-concept or exploit code (if possible)
- Impact assessment of the vulnerability
- Potential mitigations you've identified
- Initial Response: Within 48 hours of submission
- Status Update: Within 7 days with our assessment
- Fix Timeline: Varies based on severity
- Critical: 7 days
- High: 14 days
- Medium: 30 days
- Low: 90 days
- We will acknowledge your report within 48 hours
- We will provide a more detailed response within 7 days
- We will keep you informed of the progress towards a fix
- We may ask for additional information or guidance
- Once fixed, we will coordinate public disclosure with you
Currently, we do not have a paid bug bounty program. However, we deeply appreciate security research and will:
- Acknowledge your contribution (with your permission)
- List you in our security hall of fame
- Provide swag/merchandise (if available)
-
Environment Variables
- Never commit
.envfiles to version control - Use strong, unique JWT secrets
- Rotate secrets regularly
- Use environment-specific configurations
- Never commit
-
Database Security
- Use strong MongoDB passwords
- Enable MongoDB authentication
- Use connection string encryption
- Regularly backup your database
- Use MongoDB Atlas with IP whitelisting
-
API Security
- Keep dependencies updated
- Use HTTPS in production
- Implement rate limiting
- Monitor for suspicious activity
- Enable CORS only for trusted domains
-
Server Security
- Keep Node.js and npm updated
- Use process managers (PM2, Forever)
- Implement proper logging
- Use firewalls and security groups
- Regular security audits
-
Code Security
# Check for vulnerabilities npm audit # Fix vulnerabilities npm audit fix
-
Dependencies
- Regularly update dependencies
- Review dependency licenses
- Avoid deprecated packages
- Use lock files (package-lock.json)
-
Authentication
- Never store passwords in plain text
- Use bcrypt for password hashing
- Implement proper session management
- Add rate limiting for auth endpoints
- Use secure JWT secrets
-
Input Validation
- Sanitize all user inputs
- Use parameterized queries
- Implement content security policies
- Validate file uploads
- Escape output properly
-
Account Security
- Use strong, unique passwords
- Enable two-factor authentication (when available)
- Don't share your credentials
- Log out after using public computers
- Regularly review your account activity
-
Privacy
- Be cautious about sharing personal information
- Review privacy settings regularly
- Report suspicious activity
- Use private rooms for sensitive discussions
-
JWT Tokens
- Tokens are stored in localStorage
- Tokens expire after 7 days
- Tokens include user ID and username only
-
Password Storage
- Passwords are hashed using bcrypt
- Salt rounds: 10
- No password recovery via email (yet)
-
WebSocket Security
- Socket connections require JWT authentication
- CORS is configured for specific origins
- Connection limits prevent DoS attacks
We recommend implementing the following security headers in production:
// Express middleware for security headers
app.use((req, res, next) => {
res.setHeader('X-Content-Type-Options', 'nosniff');
res.setHeader('X-Frame-Options', 'DENY');
res.setHeader('X-XSS-Protection', '1; mode=block');
res.setHeader('Strict-Transport-Security', 'max-age=31536000; includeSubDomains');
res.setHeader('Content-Security-Policy', "default-src 'self'");
next();
});We regularly monitor and update our dependencies. Current critical dependencies:
- Express - Web framework
- MongoDB/Mongoose - Database
- Socket.io - Real-time communication
- JWT - Authentication
- bcrypt.js - Password hashing
- React - Frontend framework
- OWASP Top 10
- Node.js Security Best Practices
- Express Security Best Practices
- MongoDB Security Checklist
For any security-related questions or concerns, please contact:
π§ [email protected] π GitHub Issues: https://github.com/K007-K/DEB8/issues (for non-security bugs)
Last Updated: October 2025