Cordon v0.4.3
This security release addresses the eMudhra certificate authority compromise, patches dependency vulnerabilities, and adds an option to refresh existing client CA bundles.
Fixed
- The TLS verifier now explicitly distrusts the compromised eMudhra intermediate public keys, including cross-signed chains and installations with older system roots. The CLI's bundled public roots are also updated.
- Patched Rust dependencies cover TLS verification, cryptographic utilities, async I/O, and interrupted password input. The npm development dependency follow-redirects is also updated.
- Release automation now verifies that the public update-check API serves the new version after deployment.
Added
- Run `cordon env --refresh-ca-bundle` to rebuild the selected configuration's combined CA bundle from its installed public-CA source and existing local Cordon CA. The command preserves the CA certificate, private key, and configuration.
Improved
- Dependency audits now include development and optional dependencies and run daily on main. Release builds preserve locked dependency resolution.
Migration Notes
- The npm package now requires Node.js 22.23.4+, 24.22.1+, or 26.12.1+ within those major versions. Node.js 20 is no longer supported.
- Upgrade every Cordon installation and restart running instances. Update client runtimes and trust sources, refresh each scope's CA bundle, and restart apps. Unconfigured HTTPS hosts still depend on the client's own TLS verifier.
- Refreshing replaces the entire combined bundle, including manual additions. Preserve required custom roots in the selected source first. Redirect `cordon env --refresh-ca-bundle > /dev/null` when only refreshing, because normal environment output can contain proxy tokens.
- The eMudhra incident does not require rotating Cordon's local CA or rerunning `cordon trust`. An affected installation does not establish that credentials were exposed.