Project

General

Profile

Version 5.6.3 » History » Version 2

Tobias Brunner, 24.05.2018 13:05
News for 5.6.3

1 1 Tobias Brunner
h1. Version 5.6.3
2 1 Tobias Brunner
3 2 Tobias Brunner
* Fixed a vulnerability in the _stroke_ plugin, which did not check the received length before
4 2 Tobias Brunner
  reading a message from the socket. Unless a [[ReducedPrivileges#Running-strongSwan-as-non-root|group]] is configured, root privileges are
5 2 Tobias Brunner
  required to access that socket, so in the default configuration this shouldn't be an issue.
6 2 Tobias Brunner
  The fix (commit:0acd1ab4d0) is also "available for older releases":https://download.strongswan.org/security/CVE-2018-5388/.
7 2 Tobias Brunner
  This vulnerability has been registered as "CVE-2018-5388":https://cve.mitre.org/cgi-bin/cvename.cgi?name=2018-5388.
8 2 Tobias Brunner
9 2 Tobias Brunner
10 2 Tobias Brunner
* CRLs that are not yet valid are now ignored to avoid problems in scenarios where expired
11 2 Tobias Brunner
  certificates are removed from new CRLs and the clock on the host doing the revocation
12 2 Tobias Brunner
  check is trailing behind that of the host issuing CRLs. Not doing this could result in accepting
13 2 Tobias Brunner
  a revoked and expired certificate, if it's still valid according to the trailing clock but not
14 2 Tobias Brunner
  contained anymore in not yet valid CRLs.
15 2 Tobias Brunner
16 2 Tobias Brunner
* The issuer of fetched CRLs is now compared to the issuer of the checked certificate (#2608).
17 2 Tobias Brunner
18 2 Tobias Brunner
* CRL validation results other than revocation (e.g. a skipped check because the CRL couldn't
19 2 Tobias Brunner
  be fetched) are now stored also for intermediate CA certificates and not only for end-entity
20 2 Tobias Brunner
  certificates, so a strict CRL policy can be enforced in such cases.
21 2 Tobias Brunner
22 2 Tobias Brunner
* In compliance with "RFC 4945, section 5.1.3.2":https://tools.ietf.org/html/rfc4945#section-5.1.3.2, certificates used for IKE must now either
23 2 Tobias Brunner
  *not* contain a _keyUsage_ extension (like the ones generated by [[ipsecpki|pki]]), or have at least one of the
24 2 Tobias Brunner
  _digitalSignature_ or _nonRepudiation_ bits set.
25 2 Tobias Brunner
26 2 Tobias Brunner
* New options for [[vici]]/[[swanctl]] allow forcing the local termination of an IKE_SA. This might be
27 2 Tobias Brunner
  useful in situations where it's known the other end is not reachable anymore, or that it already
28 2 Tobias Brunner
  removed the IKE_SA, so retransmitting a DELETE and waiting for a response would be pointless.
29 2 Tobias Brunner
  Waiting only a certain amount of time for a response (i.e. shorter than all retransmits would be)
30 2 Tobias Brunner
  before destroying the IKE_SA is also possible by additionally specifying a timeout in the forced
31 2 Tobias Brunner
  termination request.
32 2 Tobias Brunner
33 2 Tobias Brunner
* When removing routes, the _kernel-netlink_ plugin now checks if it tracks other routes for the same
34 2 Tobias Brunner
  destination and replaces the installed route instead of just removing it.  Same during installation,
35 2 Tobias Brunner
  where existing routes previously weren't replaced.  This should allow using traps with virtual IPs
36 2 Tobias Brunner
  on Linux (#2162).
37 2 Tobias Brunner
38 2 Tobias Brunner
* The [[dhcpplugin|dhcp plugin]] now only sends the client identifier DHCP option if the _identity_lease_ setting is
39 2 Tobias Brunner
  enabled (commit:7b660944b6).  It can also send identities of up to 255 bytes length, instead of the
40 2 Tobias Brunner
  previous 64 bytes (commit:30e886fe3b, commit:0e5b94d038). If a server address is configured, DHCP requests
41 2 Tobias Brunner
  are now sent from port 67 instead of 68 to avoid ICMP port unreachables (commit:becf027cd9).
42 2 Tobias Brunner
43 2 Tobias Brunner
* The handling of faulty @INVALID_KE_PAYLOAD@ notifies (e.g. one containing a DH group that wasn't
44 2 Tobias Brunner
  proposed) during @CREATE_CHILD_SA@ exchanges has been improved (#2536).
45 2 Tobias Brunner
46 2 Tobias Brunner
* Roam events are now completely ignored for IKEv1 SAs (there is no MOBIKE to handle such
47 2 Tobias Brunner
  changes properly).
48 2 Tobias Brunner
49 2 Tobias Brunner
* ChaCha20/Poly1305 is now correctly proposed without key length (#2614). For compatibility with
50 2 Tobias Brunner
  older releases the _chacha20poly1305compat_ keyword may be included in proposals to also propose
51 2 Tobias Brunner
  the algorithm with a key length (commit:c58434aeff).
52 2 Tobias Brunner
53 2 Tobias Brunner
* Configuration of hardware offload of IPsec SAs is now more flexible and allows a new setting (_auto_),
54 2 Tobias Brunner
  which automatically uses it if the kernel and device both support it. If _hw_offload_ is set to _yes_ and
55 2 Tobias Brunner
  offloading is not supported, the CHILD_SA installation now fails.
56 2 Tobias Brunner
57 2 Tobias Brunner
* The _kernel-pfkey_ plugin optionally installs routes via internal interface (one with an IP in the local
58 2 Tobias Brunner
  traffic selector).  On FreeBSD, enabling this selects the correct source IP when sending packets
59 2 Tobias Brunner
  from the gateway itself (commit:e811659323).
60 2 Tobias Brunner
61 2 Tobias Brunner
* SHA-2 based PRFs are supported in PKCS#8 files as generated by OpenSSL 1.1 (#2574).
62 2 Tobias Brunner
63 2 Tobias Brunner
* The [[ipsecpkiverify|pki --verify]] tool may load CA certificates and CRLs from directories.
64 2 Tobias Brunner
65 2 Tobias Brunner
* The IKE daemon now also switches to port 4500 if the remote port is not 500 (e.g. because the
66 2 Tobias Brunner
  remote maps the response to a different port, as might happen on Azure), as long as the local port
67 2 Tobias Brunner
  is 500 (commit:85bfab621d).
68 2 Tobias Brunner
69 2 Tobias Brunner
* Fixed an issue with DNS servers passed to NetworkManager in charon-nm (commit:ee8c25516a).
70 2 Tobias Brunner
71 2 Tobias Brunner
* Logged traffic selectors now always contain the protocol if either protocol or port are set (commit:a36d8097ed).
72 2 Tobias Brunner
73 2 Tobias Brunner
* Only the inbound SA/policy will be updated as reaction to IP address changes for rekeyed CHILD_SAs
74 2 Tobias Brunner
  that are kept around.
75 2 Tobias Brunner
76 2 Tobias Brunner
* The parser for [[strongswan.conf]]/[[swanctl.conf]] now accepts @=@ characters in values without having to
77 2 Tobias Brunner
  put the value in quotes (e.g. for Base64 encoded shared secrets).
78 2 Tobias Brunner
79 2 Tobias Brunner
* Notes for developers:
80 2 Tobias Brunner
81 2 Tobias Brunner
  * *trap_manager_t*: Trap policies are now unistalled by peer/child name and not the reqid.
82 2 Tobias Brunner
    No reqid is returned anymore when installing trap policies.
83 2 Tobias Brunner
84 2 Tobias Brunner
  * *child_sa_t*: A new state (@CHILD_DELETED@) is used for CHILD_SAs that have been deleted but not yet
85 2 Tobias Brunner
    destroyed (after a rekeying CHILD_SAs are kept around for a while to process delayed packets).
86 2 Tobias Brunner
    This way child_updown events are not triggered anymore for such SAs when an IKE_SA that has such
87 2 Tobias Brunner
    CHILD_SAs assigned is deleted.