VeridianOS is at v0.25.1 with all phases (0-12) complete. Security updates are provided for:
| Version | Supported |
|---|---|
| 0.25.x (latest) | ✅ |
| main branch | ✅ |
| < 0.25 | ❌ |
Once we reach 1.0, we will maintain security updates for the current major version and one previous major version.
We take the security of VeridianOS seriously. If you believe you have found a security vulnerability, please report it to us as described below.
- Open a public issue
- Post to public forums or social media
- Exploit the vulnerability
- Email your findings to security@veridian-os.org
- Encrypt your message using our PGP key (available at https://veridian-os.org/security-key.asc)
- Include the following information:
- Type of vulnerability
- Full paths of source file(s) related to the issue
- Location of affected code (tag/branch/commit or direct URL)
- Step-by-step instructions to reproduce
- Proof-of-concept or exploit code (if possible)
- Impact assessment
- Acknowledgment: Within 48 hours
- Initial Assessment: Within 1 week
- Status Updates: Every 2 weeks
- Resolution Timeline: Depends on severity
- Critical: 1-7 days
- High: 1-2 weeks
- Medium: 2-4 weeks
- Low: 1-2 months
We maintain a Hall of Fame for security researchers who have responsibly disclosed vulnerabilities. With your permission, we will:
- Add your name to our Security Hall of Fame
- Acknowledge your contribution in release notes
- Provide a letter of recognition if requested
When contributing to VeridianOS:
- All changes undergo security review
- Use static analysis tools
- Follow secure coding guidelines
- Minimize external dependencies
- Audit all dependencies
- Keep dependencies updated
- Use
cargo auditregularly
- Never implement custom cryptography
- Use well-established libraries
- Follow current best practices
- Leverage Rust's memory safety
- Minimize unsafe code (7 justified
static mutremaining) - Document all safety invariants (99%+ SAFETY comment coverage)
- Use fuzzing for testing
VeridianOS implements multiple layers of security (all complete as of v0.25.1):
-
Capability-based access control
- Unforgeable 64-bit capability tokens with generation counters
- Fine-grained permissions with O(1) lookup
- Hierarchical inheritance and cascading revocation
- Per-CPU capability cache
-
Memory protection
- W^X enforcement
- KASLR (Kernel Address Space Layout Randomization)
- Stack canaries and guards
- Heap isolation
- SMEP/SMAP enforcement
-
Cryptographic services
- ChaCha20-Poly1305, Ed25519, X25519, SHA-256
- Post-quantum cryptography: ML-KEM (Kyber), ML-DSA (Dilithium)
- Hardware CSPRNG (RDRAND with CPUID check)
- TLS 1.3, SSH, WireGuard VPN
-
Mandatory access control
- MAC policy parser with RBAC and MLS enforcement
- Audit logging framework
- Secure boot chain verification
-
Hardware security
- TPM integration
- Intel TDX, AMD SEV-SNP, ARM CCA support
- IOMMU for DMA protection
- Retpoline for Spectre mitigation
-
Network security
- Stateful firewall with NAT/conntrack
- Mandatory TLS for system services
- Certificate pinning
- Network isolation
-
Kernel hardening
- Speculative execution mitigations (retpoline)
- Checked arithmetic in critical paths
- Password history with salted hashes and constant-time comparison
- Capability cache invalidation before revocation
Our threat model considers:
- Malicious applications
- Network attackers
- Physical access attacks
- Supply chain attacks
- Side-channel attacks
- Fuzzing with AFL++ and libFuzzer
- Static analysis with clippy and cargo-audit
- Dynamic analysis with sanitizers
- Security scan completed (v0.20.2): 7 findings remediated
In case of a security incident:
- Immediate patch development
- Security advisory publication
- Coordinated disclosure
- Post-mortem analysis
- Process improvement
- Security Team Email: security@veridian-os.org
- PGP Key: https://veridian-os.org/security-key.asc
- Security Advisory Feed: https://veridian-os.org/security/advisories.atom
Thank you for helping keep VeridianOS secure!