Libreswan
IPsec VPN implementation for Linux and BSD supporting IKEv1 and IKEv2
Libreswan patches four CVEs on two lines, two of them credited to Claude and Ada Logics.
◆Recent moves
- 1mo ago
5.4.1 Security Release addresses three CVEs
Three CVEs fixed on the current line, two of them credited to Claude and Ada Logics. It follows the ML-KEM feature release with the same security-first rhythm as the 5.3 patches.
View source ↗ - 1mo ago
5.3.3 Security Release addresses four CVEs
The 5.3 maintenance line gets the same fixes plus a FIPS certificate-leak denial of service. Libreswan is still backporting to the previous minor, so users who have not moved to 5.4 are covered.
View source ↗ - 2mo ago
5.4: ML-KEM 768 and RFC 9370 multiple key exchanges for IKEv2
⚡ SPARKAfter two releases of pure CVE response, v5.4 is where Libreswan adds capability: post-quantum key exchange in IKEv2, built on a complete RFC 9370 implementation rather than bolted on. The maintenance half of the release — host-to-host and on-demand fixes on FreeBSD, NetBSD and OpenBSD, proposal parser updates, and a large logging cleanup — reflects the same operator-facing grind visible in earlier releases.
View source ↗ - 3mo ago
5.3.2: FIPS-mode daemon crash from malformed X.509 certificates
A single-CVE release for an assertion failure that crashes pluto in FIPS mode when it parses a badly formatted X.509 certificate, repeatable into a denial of service. Notable for how it was found: the project ran an AI-assisted audit over its own codebase and this came out of it.
View source ↗ - 4mo ago
5.3.1: three CVEs and a newer-GCC compile fix
Three CVEs closed in one release, plus a compile fix for newer GCC versions. Together with 5.3.2 a month later, it marks the stretch where Libreswan's release stream was entirely security response — the contrast that makes v5.4's feature work stand out.
View source ↗ - 2y ago
IKEv1 cryptosuite defaults tightened; systemd libxz dependency dropped
Reworks IKEv1's default proposals — SHA2 added to AH, DH19 and DH31 into the IKE defaults, AEAD rejected when combined with non-NULL integrity — and drops the libxz dependency pulled in via libsystemd. Default-tightening on the legacy protocol, which is how IKEv1 gets maintained rather than extended.
View source ↗