Vulnerability Related to Online Certificate Revocation Checks (CVE-2022-40617)
A vulnerability related to online certificate revocation checking was fixed. It was caused because the revocation plugin used potentially untrusted OCSP URIs and CRL distribution points in certificates. This allowed a remote attacker to initiate IKE_SAs and send crafted certificates that contain URIs pointing to servers under their control, which could have lead to a denial-of-service attack. All strongSwan versions may be affected.
More information is provided in a separate blog entry.
SCEP and EST in the pki Tool
The new pki --scep|--scepca
commands implement the HTTP-based "Simple Certificate Enrollment Protocol" (RFC 8894 SCEP) replacing the old and long deprecated scepclient
tool that has been removed.
The new pki --est|estca
commands implement the HTTPS-based "Enrollment over Secure Transport" (RFC 7070 EST) protocol.
Also, the pki --req
command can create a certificate request based on an existing PKCS#10 template by replacing the public key and re-generating the signature with the new private key.
Later ike_updown() Event for IKEv2
For IKEv2, the ike_updown()
"up" event and the state change to IKE_ESTABLISHED
are now triggered after all IKE-related tasks are done. This ensures the IKE_SA is actually fully established, which now includes any assigned virtual IPs, additional MOBIKE peer addresses or a reauthentication time updated via AUTH_LIFETIME
notify. This was e.g. an issue for the selinux plugin if virtual IPs were used.
Other Notable Features and Fixes
- The
ike_cfg_t
object is now always replaced together with thepeer_cfg_t
object that's set on an IKE_SA during authentication. This is more consistent and allows to properly take into account some settings that are also relevant during IKE_AUTH (e.g.childless
) and it was actually already handled this way during rekeying/reestablishing of IKE_SAs and e.g. for the DSCP setting. - The gcm plugin has been enabled by default, so that the TLS 1.3 unit tests (now indirectly enabled if the
pki
tool is built due to the implementation of EST) can be completed successfully with just the default plugins. - The socket plugins don't set the
SO_REUSEADDR
option anymore on the IKE UDP sockets, so an error is triggered if e.g. two daemons (e.g.charon
andcharon-systemd
) are running concurrently using the same ports.