Commit Graph

132 Commits

Author SHA1 Message Date
Florian Eckert
b13728e6af strongswan: add fix for CVE-2022-40617
Full details of the CVE can be found at the following link:
https://www.strongswan.org/blog/2022/10/03/strongswan-vulnerability-(cve-2022-40617).html

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2023-03-16 14:59:50 +01:00
Petr Štetiar
f624e41f38 treewide: fix security issues by bumping all packages using libwolfssl
As wolfSSL is having hard time maintaining ABI compatibility between
releases, we need to manually force rebuild of packages depending on
libwolfssl and thus force their upgrade. Otherwise due to the ABI
handling we would endup with possibly two libwolfssl libraries in the
system, including the patched libwolfssl-5.5.1, but still have
vulnerable services running using the vulnerable libwolfssl-5.4.0.

So in order to propagate update of libwolfssl to latest stable release
done in commit ec8fb542ec3e4 ("wolfssl: fix TLSv1.3 RCE in uhttpd by
using 5.5.1-stable (CVE-2022-39173)") which fixes several remotely
exploitable vulnerabilities, we need to bump PKG_RELEASE of all packages
using wolfSSL library.

Same bump has been done in buildroot in commit f1b7e1434f66 ("treewide:
fix security issues by bumping all packages using libwolfssl").

Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 845d81ca09)
2022-10-04 10:22:40 +02:00
Petr Štetiar
ea8108a319 Revert "treewide: fix security issues by bumping all packages using libwolfssl"
This reverts commit 0ddec62e69 as it was
backport too soon, we need to first wait for fixed libwolfssl being
available.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2022-10-04 10:14:07 +02:00
Petr Štetiar
0ddec62e69 treewide: fix security issues by bumping all packages using libwolfssl
As wolfSSL is having hard time maintaining ABI compatibility between
releases, we need to manually force rebuild of packages depending on
libwolfssl and thus force their upgrade. Otherwise due to the ABI
handling we would endup with possibly two libwolfssl libraries in the
system, including the patched libwolfssl-5.5.1, but still have
vulnerable services running using the vulnerable libwolfssl-5.4.0.

So in order to propagate update of libwolfssl to latest stable release
done in commit ec8fb542ec3e4 ("wolfssl: fix TLSv1.3 RCE in uhttpd by
using 5.5.1-stable (CVE-2022-39173)") which fixes several remotely
exploitable vulnerabilities, we need to bump PKG_RELEASE of all packages
using wolfSSL library.

Same bump has been done in buildroot in commit f1b7e1434f66 ("treewide:
fix security issues by bumping all packages using libwolfssl").

Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 845d81ca09)
2022-10-04 01:03:35 -07:00
Philip Prindeville
4c311180da strongswan: add kernel module dependency on chapoly
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
(cherry picked from commit 6a30ed6fbd)
2022-08-28 10:14:37 +02:00
Joel Low
1646a22ddb strongswan: support child rekey by bytes and packets
This adds support for the child SA to be rekeyed through the byte/packet
threshold. The default is blank (which disables the byte/packet thresholds).

Signed-off-by: Joel Low <joel@joelsplace.sg>
(cherry picked from commit 5c8af06c94)
2022-05-12 07:09:16 +08:00
Derek Yerger
821fd24995 strongswan: add wolfssl plugin
Signed-off-by: Derek Yerger <derek@altdevs.net>
Signed-off-by: Joel Low <joel@joelsplace.sg>
(cherry picked from commit 51203cae24)
2022-05-10 08:27:14 +08:00
Stijn Tintel
e56959e66a strongswan: fix forecast plugin dependency
The forecast plugin does not require the iptables binary, it uses
libiptc instead.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit 6e132e74fd)
2022-04-06 17:12:04 +02:00
Stijn Tintel
ddab7e7f2d strongswan: fix connmark plugin dependency
The connmark plugin does not require the iptables binary, it uses
libiptc instead.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit 6cb15df69a)
2022-04-06 17:11:43 +02:00
Stijn Tintel
eabca62005 strongswan: move iptables deps to updown plugin
Let's move the iptables IPsec dependencies out of the strongswan package
and into the plugin package that actually depends on it,
strongswan-mod-updown. As the default updown script calls the iptables
binary, also add a dependency on the iptables-legacy package.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
(cherry picked from commit 93fbbcbfee)
2022-04-06 17:11:27 +02:00
Rosen Penev
196e15162d treewide: remove rpath-link
Most usages seem to be outdated and fixed a long time ago.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-03-13 00:02:02 -08:00
Stijn Tintel
bc09311c38 strongswan: add missing dependencies
Fix the following build failures by adding the missing dependencies:

Package strongswan-mod-connmark is missing dependencies for the following libraries:
libip4tc.so.2

Package strongswan-mod-forecast is missing dependencies for the following libraries:
libip4tc.so.2

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2022-03-04 06:28:08 -08:00
Philip Prindeville
2b00697f08 strongswan: Update to 5.9.5
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2022-02-01 23:24:46 -08:00
Philip Prindeville
f7d11c9a1c strongswan: Bump to 5.9.4
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-10-28 13:04:40 -06:00
Philip Prindeville
93cbdcbef5 strongswan: add /etc/config/ipsec to sysupgrade list
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-08-01 14:57:39 -06:00
Noel Kuntze
6c3d30c0cb strongswan: update to version 5.9.3
Signed-off-by: Noel Kuntze <noel.kuntze@thermi.consulting>
2021-07-18 04:30:35 +02:00
Philip Prindeville
40d30f123d strongswan: trivial improvement in 'stroke' packaging
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-07-01 12:12:15 -06:00
Philip Prindeville
d279a64df8 strongswan: add priority option
Also from Vincent Wiemann <vincent.wiemann@ironai.com>.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-06-27 16:45:43 -06:00
Philip Prindeville
6c79715676 strongswan: add ipcomp support
Also from Vincent Wiemann <vincent.wiemann@ironai.com>.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-06-27 16:34:45 -06:00
Philip Prindeville
11ff072672 strongswan: add interface option for children
This option sets the interface of the policy.

Also from Vincent Wiemann <vincent.wiemann@ironai.com>.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-06-27 16:31:31 -06:00
Philip Prindeville
0231e043b7 strongswan: add support for hw_offload
Also from Vincent Wiemann <vincent.wiemann@ironai.com>.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-06-27 16:31:31 -06:00
Philip Prindeville
0fe23b0e4a strongswan: miscellaneous cleanup of config file, etc
Use list's where appropriate for multi-value config variables.

Forbid absolute/relative paths for certificate and key files.

Get rid of last remnants of left/right naming.

Factor invariant code paths.

Drop redundant secrets.rsa.filename section.

Thanks to Vincent Wiemann <vincent.wiemann@ironai.com> for calling
out many of these improvements.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-06-27 16:31:31 -06:00
Philip Prindeville
09dcf7486d strongswan: rename config functions
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-06-27 16:31:31 -06:00
Vincent Wiemann
59732ba018 strongswan: fix PSK config generation
There were closing curly braces missing and it was checking for empty
strings while it should have been checking for non-empty strings.

Signed-off-by: Vincent Wiemann <vincent.wiemann@ironai.com>
2021-06-18 04:42:01 +02:00
Philip Prindeville
cac7608211 strongswan: use correct directory for CA's
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-06-17 18:53:08 -06:00
Philip Prindeville
2ccd2665cb strongswan: fix sharing of ipsec section variables
Variables set in config_ipsec() need to be shared with do_postamble()
function, so change scoping to parent (prepare_env()).

Also, remove unused settings like "remote_sourceip", "reqid", and
"packet_marker".

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-06-17 09:46:55 -06:00
Philip Prindeville
a783986cbc strongswan: start charon directly from swanctl
ipsec uses starter, and reads /etc/ipsec.conf (which then includes
/var/ipsec/ipsec.conf, etc). This is overly complicated, and can
be problematic if you're using both swanctl and ipsec for migration.

Running charon directly from procd via the init.d script avoid
all of this.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-06-02 00:23:54 -06:00
Philip Prindeville
c6e94656c3 Merge pull request #15601 from pprindeville/strongswan-make-swanctl-default
strongswan: make default bundle use swanctl
2021-05-14 11:49:35 -06:00
Philip Prindeville
8eba0209ab strongswan: make default bundle use swanctl
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-05-10 22:17:00 -06:00
Philip Prindeville
ba79998e52 strongswan: swanctl init script doesn't load connections
Fixes issue #15446

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-05-05 11:58:34 -06:00
Philip Prindeville
9217aa859f strongswan: change name of config base directory
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-04-15 17:57:48 -06:00
Philip Prindeville
a3f625954a strongswan: add certificate generation utility
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-04-15 13:10:08 -06:00
Philip Prindeville
505db629de strongswan: add deprecation warning to ipsec script
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-04-14 12:27:07 -06:00
Philip Prindeville
ff33f4ccd3 strongswan: handle chacha20poly1305 as AEAD
chacha20policy1305 is also an AEAD cipher, and hence does not
permit a hash algorithm.

Fixes issue #15397.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-04-13 12:46:07 -06:00
Philip Prindeville
c95fd69973 strongswan: fail on serious configuration errors
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-04-13 12:46:07 -06:00
Philip Prindeville
210640d606 strongswan: drop subshell when possible
A subshell caused by $(...) can't persistently modify globals as a
side-effect.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-04-13 12:45:57 -06:00
Eneas U de Queiroz
e50ba32402 strongswan: libnttft must not select strongswan
The strongswan-libnttfft package should not select the strongswan
package, but should depend on it instead.  Otherwise a circular
dependency is created.

Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
2021-04-09 23:54:43 -03:00
Philip Prindeville
e44b2665e7 Merge pull request #6924 from derekyerger/strongswan-lattice-sha3
strongswan: add more crypto plugins
2021-04-08 22:26:56 -06:00
Philip Prindeville
ae3d5aa73e strongswan: bump to 5.9.2
Retire weak algorithms like MD5 and 3DES.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-04-05 14:58:54 -07:00
Derek Yerger
4c1fc7e311 strongswan: add more crypto plugins
Adds modules for BLISS signature scheme, NTRU and New Hope key
exchange algorithms, and dependencies ChaCha20-Poly1305 AEAD,
ChaCha20 XOF, MGF1 mask generation function, SHA3 hasher SHAKE
XOF, and the Number Theoretic Transform library.

Signed-off-by: Derek Yerger <derek@altdevs.net>
2021-04-05 14:31:49 -05:00
Philip Prindeville
a72780a9c2 strongswan: force PIC on all builds
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-04-05 07:31:40 -10:00
Philip Prindeville
f9d91f1f47 strongswan: migrate to swanctl configs
Derived from the ipsec initd script, with the following changes:

(1) various code improvements, corrections (get rid of left/right
    updown scripts, since there's only one), etc;
(2) add reauth and fragmentation parameters;
(3) add x.509 certificate-based authentication;

and other minor changes.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-04-04 11:58:51 -06:00
Philip Prindeville
baa38a1420 strongswan: remove synthesized ipsec conf files
If you shutdown ipsec service, and it doesn't clean up
/var/ipsec/ipsec.conf, then when you start swanctl service it
might see an incompatible file on startup.  Remedy is to
remove unneeded files when shutting down the service.  They
can always be regenerated when the service starts again.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-04-01 15:06:00 -06:00
Philip Prindeville
e626255b37 strongswan: move ipsec conf files to subpackage
These config files are only used by the ipsec interface to charon,
and shouldn't be part of the base package.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-03-31 21:19:40 -06:00
Philip Prindeville
643df01275 strongswan: make the include's in the .conf files persistent
Having scripts diddle user written config files seems potentially
dangerous.  Plus there's really no downside to including some
empty files.  Best to just make the includes be permanent.

Additional feature suggested by Luiz: if a -opkg version of the
config file was created unnecessarily, remove it as part of the
upgrade process since changes won't be happening to that file
as an artifact of the service starting.  The include lines are
now permanent, which means that (1) additional configuration
synthesized by UCI won't be anywhere that opkg (or sysupgrade,
for that matter) cares about since it won't be persistent, and
(2) if changes are being made, then they're being done by a
person with an editor and they really should be distinguished.

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-03-26 14:29:32 -06:00
Philip Prindeville
0bd4410e30 strongswan: change maintainers
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-03-25 21:37:56 -06:00
Philip Prindeville
ec72d3a9e4 strongswan: fix local_gateway discovery
This has been observed by myself and @luizluca: ip route get is
appending uid0 to the output, as seen from:

root@OpenWrt2:~# ip route get 1.1.1.1
1.1.1.1 via 174.27.160.1 dev eth3 src 174.27.182.184 uid 0
    cache
root@OpenWrt2:~#

so the fix is an anchored match, discarding all else. Also, using
ip -o means never having to do multiline matches...

Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-02-16 13:32:26 -07:00
Philip Prindeville
af866db607 Merge pull request #14668 from pprindeville/strongswan-create-swanctl.d-dir
strongswan: create /etc/swanctl/conf.d directory
2021-02-09 22:24:20 -07:00
Philip Prindeville
6753414f85 strongswan: include /etc/swanctl/conf.d/ directory
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-02-08 23:51:45 -07:00
Philip Prindeville
9ddc502872 strongswan: avoid duplicate logging
Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
2021-02-05 22:10:29 -07:00