- Updated to strongSwan 5.6.0 providing the following changes:
*Fixed a DoS vulnerability in the gmp plugin that was caused by insufficient input validation
when verifying RSA signatures, which requires decryption with the operation m^e mod n,
where m is the signature, and e and n are the exponent and modulus of the public key.
The value m is an integer between 0 and n-1, however, the gmp plugin did not verify this.
So if m equals n the calculation results in 0, in which case mpz_export() returns NULL.
This result wasn't handled properly causing a null-pointer dereference.
This vulnerability has been registered as CVE-2017-11185. (bsc#1051222)
*New SWIMA IMC/IMV pair implements the draft-ietf-sacm-nea-swima-patnc Internet
Draft and has been demonstrated at the IETF 99 Prague Hackathon.
*The IMV database template has been adapted to achieve full compliance with the
ISO 19770-2:2015 SWID tag standard.
*The pt-tls-client can attach and use TPM 2.0 protected private keys via the --keyid parameter.
*By default the /etc/swanctl/conf.d directory is created and *.conf files in it are included in the default
swanctl.conf file.
*The curl plugin now follows HTTP redirects (configurable via strongswan.conf).
*The CHILD_SA rekeying was fixed in charon-tkm and the behavior is refined a bit more since 5.5.3
*libtpmtss supports Intel's TSS2 Architecture Broker and Resource Manager interface (tcti-tabrmd).
* more on https://wiki.strongswan.org/versions/66
OBS-URL: https://build.opensuse.org/request/show/521273
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=104
- Updated to strongSwan 5.3.5 providing the following changes:
*Fixed a DoS vulnerability in the gmp plugin that was caused by insufficient input
validation when verifying RSA signatures. More specifically, mpz_powm_sec() has two
requirements regarding the passed exponent and modulus that the plugin did not
enforce, if these are not met the calculation will result in a floating point exception
that crashes the whole process.
This vulnerability has been registered as CVE-2017-9022.
Please refer to our blog for details.
*Fixed a DoS vulnerability in the x509 plugin that was caused because the ASN.1 parser
didn't handle ASN.1 CHOICE types properly, which could result in an infinite loop when
parsing X.509 extensions that use such types.
This vulnerability has been registered as CVE-2017-9023.
Please refer to our blog for details.
*The behavior during IKEv2 CHILD_SA rekeying has been changed in order to avoid
traffic loss. When responding to a CREATE_CHILD_SA request to rekey a CHILD_SA
the responder already has everything available to install and use the new CHILD_SA.
However, this could lead to lost traffic as the initiator won't be able to process
inbound packets until it processed the CREATE_CHILD_SA response and updated the
inbound SA. To avoid this the responder now only installs the new inbound SA and
delays installing the outbound SA until it receives the DELETE for the replaced CHILD_SA.
*The messages transporting these DELETEs could reach the peer before packets sent
with the deleted outbound SAs reach it. To reduce the chance of traffic loss due
to this the inbound SA of the replaced CHILD_SA is not removed for a configurable
amount of seconds (charon.delete_rekeyed_delay) after the DELETE has been processed.
*The code base has been ported to Apple's ARM64 iOS platform, which required several
changes regarding the use of variadic functions. This was necessary because the calling
conventions for variadic and regular functions are different there.
This means that assigning a non-variadic function to a variadic function pointer, as we
did with our enumerator_t::enumerate() implementations and several callbacks, will
result in crashes as the called function accesses the arguments differently than the
OBS-URL: https://build.opensuse.org/request/show/513652
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=99
- Applied upstream fix for a rogue servers vulnerability, that may
enable rogue servers able to authenticate itself with certificate
issued by any CA the client trusts, to gain user credentials from
a client in certain IKEv2 setups (bsc#933591,CVE-2015-4171).
[+ 0006-strongswan-5.1.0-5.3.1_enforce_remote_auth.patch]
- Fix to apply unknown_payload patch if fips is disabled (<= 13.1)
and renamed it to use number prefix corresponding with patch nr.
[- strongswan-5.2.2-5.3.0_unknown_payload.patch,
+ 0005-strongswan-5.2.2-5.3.0_unknown_payload.patch]
OBS-URL: https://build.opensuse.org/request/show/311158
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/strongswan?expand=0&rev=61
enable rogue servers able to authenticate itself with certificate
issued by any CA the client trusts, to gain user credentials from
a client in certain IKEv2 setups (bsc#933591,CVE-2015-4171).
[+ 0006-strongswan-5.1.0-5.3.1_enforce_remote_auth.patch]
- Fix to apply unknown_payload patch if fips is disabled (<= 13.1)
and renamed it to use number prefix corresponding with patch nr.
[- strongswan-5.2.2-5.3.0_unknown_payload.patch,
+ 0005-strongswan-5.2.2-5.3.0_unknown_payload.patch]
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=93
Changes in version 5.2.2:
* Fixed a denial-of-service vulnerability triggered by an IKEv2 Key Exchange
payload that contains the Diffie-Hellman group 1025. This identifier was
used internally for DH groups with custom generator and prime. Because
these arguments are missing when creating DH objects based on the KE
payload an invalid pointer dereference occurred. This allowed an attacker
to crash the IKE daemon with a single IKE_SA_INIT message containing such
a KE payload. The vulnerability has been registered as CVE-2014-9221.
* The left/rightid options in ipsec.conf, or any other identity in
strongSwan, now accept prefixes to enforce an explicit type, such as
email: or fqdn:. Note that no conversion is done for the remaining string,
refer to ipsec.conf(5) for details.
* The post-quantum Bimodal Lattice Signature Scheme (BLISS) can be used as
an IKEv2 public key authentication method. The pki tool offers full
support for the generation of BLISS key pairs and certificates.
* Fixed mapping of integrity algorithms negotiated for AH via IKEv1.
This could cause interoperability issues when connecting to older versions
of charon.
Changes in version 5.2.1:
* The new charon-systemd IKE daemon implements an IKE daemon tailored for
use with systemd. It avoids the dependency on ipsec starter and uses
swanctl as configuration backend, building a simple and lightweight
solution. It supports native systemd journal logging.
* Support for IKEv2 fragmentation as per RFC 7383 has been added. Like IKEv1
fragmentation it can be enabled by setting fragmentation=yes in ipsec.conf.
* Support of the TCG TNC IF-M Attribute Segmentation specification proposal.
All attributes can be segmented. Additionally TCG/SWID Tag, TCG/SWID Tag ID
and IETF/Installed Packages attributes can be processed incrementally on a
per segment basis.
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=85
[* strongswan_fipsfilter.patch]
- Applied an upstream fix for a denial-of-service vulnerability,
which can be triggered by an IKEv2 Key Exchange payload, that
contains the Diffie-Hellman group 1025 (bsc#910491,CVE-2014-9221).
[+ 0006-strongswan-5.1.2-5.2.1_modp_custom.CVE-2014-9221.patch]
- Adjusted whilelist of approved algorithms in fips mode (bsc#856322).
[* strongswan_fipsfilter.patch]
- Renamed patch file to match it's patch number:
[- 0001-restore-registration-algorithm-order.bug897512.patch,
+ 0005-restore-registration-algorithm-order.bug897512.patch]
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=84
- Updated strongswan-hmac package description (bsc#856322).
- Disabled explicit gpg validation; osc source_validator does it.
- Guarded fipscheck and hmac package in the spec file for >13.1.
- Added generation of fips hmac hash files using fipshmac utility
and a _fipscheck script to verify binaries/libraries/plugings
shipped in the strongswan-hmac package.
With enabled fips in the kernel, the ipsec script will call it
before any action or in a enforced/manual "ipsec _fipscheck" call.
Added config file to load openssl and kernel af-alg plugins, but
not all the other modules which provide further/alternative algs.
Applied a filter disallowing non-approved algorithms in fips mode.
(fate#316931,bnc#856322).
[+ strongswan_fipscheck.patch, strongswan_fipsfilter.patch]
- Fixed file list in the optional (disabled) strongswan-test package.
- Fixed build of the strongswan built-in integrity checksum library
and enabled building it only on architectures tested to work.
- Fix to use bug number 897048 instead 856322 in last changes entry.
- Applied an upstream patch reverting to store algorithms in the
registration order again as ordering them by identifier caused
weaker algorithms to be proposed first by default (bsc#897512).
[+0001-restore-registration-algorithm-order.bug897512.patch]
- Re-enabled gcrypt plugin and reverted to not enforce fips again
as this breaks gcrypt and openssl plugins when the fips pattern
option is not installed (fate#316931,bnc#856322).
[- strongswan-fips-disablegcrypt.patch]
- Added empty strongswan-hmac package supposed to provide fips hmac
files and enforce fips compliant operation later (bnc#856322).
OBS-URL: https://build.opensuse.org/request/show/262968
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/strongswan?expand=0&rev=58
and a _fipscheck script to verify binaries/libraries/plugings
shipped in the strongswan-hmac package.
With enabled fips in the kernel, the ipsec script will call it
before any action or in a enforced/manual "ipsec _fipscheck" call.
Added config file to load openssl and kernel af-alg plugins, but
not all the other modules which provide further/alternative algs.
Applied a filter disallowing non-approved algorithms in fips mode.
(fate#316931,bnc#856322).
[+ strongswan_fipscheck.patch, strongswan_fipsfilter.patch]
- Fixed file list in the optional (disabled) strongswan-test package.
- Fixed build of the strongswan built-in integrity checksum library
and enabled building it only on architectures tested to work.
- Fix to use bug number 897048 instead 856322 in last changes entry.
- Applied an upstream patch reverting to store algorithms in the
registration order again as ordering them by identifier caused
weaker algorithms to be proposed first by default (bsc#897512).
[+0001-restore-registration-algorithm-order.bug897512.patch]
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=77
as this breaks gcrypt and openssl plugins when the fips pattern
option is not installed (fate#316931,bnc#856322).
- Added empty strongswan-hmac package supposed to provide fips hmac
files and enforce fips compliant operation later (bnc#856322).
- Cleaned up conditional build flags in the rpm spec file.
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=73
- Updated to strongSwan 5.1.3 providing the following changes:
- Fixed an authentication bypass vulnerability triggered by rekeying
an unestablished IKEv2 SA while it gets actively initiated. This
allowed an attacker to trick a peer's IKE_SA state to established,
without the need to provide any valid authentication credentials.
(CVE-2014-2338, bnc#870572).
- The acert plugin evaluates X.509 Attribute Certificates. Group
membership information encoded as strings can be used to fulfill
authorization checks defined with the rightgroups option.
Attribute Certificates can be loaded locally or get exchanged in
IKEv2 certificate payloads.
- The pki command gained support to generate X.509 Attribute
Certificates using the --acert subcommand, while the --print
command supports the ac type. The openac utility has been removed
in favor of the new pki functionality.
- The libtls TLS 1.2 implementation as used by EAP-(T)TLS and other
protocols has been extended by AEAD mode support, currently limited
to AES-GCM.
- Fixed an issue where CRL/OCSP trustchain validation broke enforcing
CA constraints
- Limited OCSP signing to specific certificates to improve performance
- authKeyIdentifier is not added to self-signed certificates anymore
- Fixed the comparison of IKE configs if only the cipher suites were
different
- Updated to strongSwan 5.1.2 providing the following changes:
- A new default configuration file layout is introduced. The new
default strongswan.conf file mainly includes config snippets from
the strongswan.d and strongswan.d/charon directories (the latter
containing snippets for all plugins). The snippets, with commented
defaults, are automatically generated and installed, if they don't
exist yet. Also installed in $prefix/share/strongswan/templates so
existing files can be compared to the current defaults.
OBS-URL: https://build.opensuse.org/request/show/230123
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/strongswan?expand=0&rev=54
- Fixed an authentication bypass vulnerability triggered by rekeying
an unestablished IKEv2 SA while it gets actively initiated. This
allowed an attacker to trick a peer's IKE_SA state to established,
without the need to provide any valid authentication credentials.
(CVE-2014-2338, bnc#870572).
- The acert plugin evaluates X.509 Attribute Certificates. Group
membership information encoded as strings can be used to fulfill
authorization checks defined with the rightgroups option.
Attribute Certificates can be loaded locally or get exchanged in
IKEv2 certificate payloads.
- The pki command gained support to generate X.509 Attribute
Certificates using the --acert subcommand, while the --print
command supports the ac type. The openac utility has been removed
in favor of the new pki functionality.
- The libtls TLS 1.2 implementation as used by EAP-(T)TLS and other
protocols has been extended by AEAD mode support, currently limited
to AES-GCM.
- Fixed an issue where CRL/OCSP trustchain validation broke enforcing
CA constraints
- Limited OCSP signing to specific certificates to improve performance
- authKeyIdentifier is not added to self-signed certificates anymore
- Fixed the comparison of IKE configs if only the cipher suites were
different
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=65
- A new default configuration file layout is introduced. The new
default strongswan.conf file mainly includes config snippets from
the strongswan.d and strongswan.d/charon directories (the latter
containing snippets for all plugins). The snippets, with commented
defaults, are automatically generated and installed, if they don't
exist yet. Also installed in $prefix/share/strongswan/templates so
existing files can be compared to the current defaults.
- As an alternative to the non-extensible charon.load setting, the
plugins to load in charon (and optionally other applications) can
now be determined via the charon.plugins.<name>.load setting for
each plugin (enabled in the new default strongswan.conf file via the
charon.load_modular option). The load setting optionally takes a
numeric priority value that allows reordering the plugins (otherwise
the default plugin order is preserved).
- All strongswan.conf settings that were formerly defined in library
specific "global" sections are now application specific (e.g.
settings for plugins in libstrongswan.plugins can now be set only
for charon in charon.plugins). The old options are still supported,
which now allows to define defaults for all applications in the
libstrongswan section.
- The ntru libstrongswan plugin supports NTRUEncrypt as a post-quantum
computer IKE key exchange mechanism. The implementation is based on
the ntru-crypto library from the NTRUOpenSourceProject.
The supported security strengths are ntru112, ntru128, ntru192, and
ntru256. Since the private DH group IDs 1030..1033 have been
assigned, the strongSwan Vendor ID must be sent in order to use NTRU
(charon.send_vendor_id = yes).
- Defined a TPMRA remote attestation workitem and added support for it
to the Attestation IMV.
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=64
- Updated to strongSwan 5.1.1 minor release addressing two security
fixes (bnc#847506,CVE-2013-6075, bnc#847509,CVE-2013-6076):
- Fixed a denial-of-service vulnerability and potential authorization
bypass triggered by a crafted ID_DER_ASN1_DN ID payload. The cause
is an insufficient length check when comparing such identities. The
vulnerability has been registered as CVE-2013-6075.
- Fixed a denial-of-service vulnerability triggered by a crafted IKEv1
fragmentation payload. The cause is a NULL pointer dereference. The
vulnerability has been registered as CVE-2013-6076.
- The lean stand-alone pt-tls-client can set up a RFC 6876 PT-TLS
session with a strongSwan policy enforcement point which uses the
tnc-pdp charon plugin.
- The new TCG TNC SWID IMC/IMV pair supports targeted SWID requests
for either full SWID Tag or concise SWID Tag ID inventories.
- The XAuth backend in eap-radius now supports multiple XAuth
exchanges for different credential types and display messages.
All user input gets concatenated and verified with a single
User-Password RADIUS attribute on the AAA. With an AAA supporting
it, one for example can implement Password+Token authentication with
proper dialogs on iOS and OS X clients. - charon supports IKEv1 Mode
Config exchange in push mode. The ipsec.conf modeconfig=push option
enables it for both client and server, the same way as pluto used it.
- Using the "ah" ipsec.conf keyword on both IKEv1 and IKEv2
connections, charon can negotiate and install Security Associations
integrity-protected by the Authentication Header protocol. Supported
are plain AH(+IPComp) SAs only, but not the deprecated RFC2401 style
ESP+AH bundles.
[...]
- Adjusted file lists: this version installs the pki utility and manuals
in common /usr directories and additional ipsec/pt-tls-client helper.
OBS-URL: https://build.opensuse.org/request/show/205541
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/strongswan?expand=0&rev=53
fixes (bnc#847506,CVE-2013-6075, bnc#847509,CVE-2013-6076):
- Fixed a denial-of-service vulnerability and potential authorization
bypass triggered by a crafted ID_DER_ASN1_DN ID payload. The cause
is an insufficient length check when comparing such identities. The
vulnerability has been registered as CVE-2013-6075.
- Fixed a denial-of-service vulnerability triggered by a crafted IKEv1
fragmentation payload. The cause is a NULL pointer dereference. The
vulnerability has been registered as CVE-2013-6076.
- The lean stand-alone pt-tls-client can set up a RFC 6876 PT-TLS
session with a strongSwan policy enforcement point which uses the
tnc-pdp charon plugin.
- The new TCG TNC SWID IMC/IMV pair supports targeted SWID requests
for either full SWID Tag or concise SWID Tag ID inventories.
- The XAuth backend in eap-radius now supports multiple XAuth
exchanges for different credential types and display messages.
All user input gets concatenated and verified with a single
User-Password RADIUS attribute on the AAA. With an AAA supporting
it, one for example can implement Password+Token authentication with
proper dialogs on iOS and OS X clients. - charon supports IKEv1 Mode
Config exchange in push mode. The ipsec.conf modeconfig=push option
enables it for both client and server, the same way as pluto used it.
- Using the "ah" ipsec.conf keyword on both IKEv1 and IKEv2
connections, charon can negotiate and install Security Associations
integrity-protected by the Authentication Header protocol. Supported
are plain AH(+IPComp) SAs only, but not the deprecated RFC2401 style
ESP+AH bundles.
[...]
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=62
- Updated to strongSwan 5.0.4 release (bnc#815236, CVE-2013-2944):
- Fixed a security vulnerability in the openssl plugin which was
reported by Kevin Wojtysiak. The vulnerability has been registered
as CVE-2013-2944. Before the fix, if the openssl plugin's ECDSA
signature verification was used, due to a misinterpretation of the
error code returned by the OpenSSL ECDSA_verify() function, an empty
or zeroed signature was accepted as a legitimate one. Refer to our
blog for details.
- The handling of a couple of other non-security relevant OpenSSL
return codes was fixed as well.
- The tnc_ifmap plugin now publishes virtual IPv4 and IPv6 addresses
via its TCG TNC IF-MAP 2.1 interface.
- The charon.initiator_only strongswan.conf option causes charon to
ignore IKE initiation requests.
- The openssl plugin can now use the openssl-fips library.
The version 5.0.3 provides new ipseckey plugin, enabling authentication
based on trustworthy public keys stored as IPSECKEY resource records in
the DNS and protected by DNSSEC and new openssl plugin using the AES-NI
accelerated version of AES-GCM if the hardware supports it.
See http://wiki.strongswan.org/projects/strongswan/wiki/Changelog50
for a list of all changes since the 5.0.1 release.
OBS-URL: https://build.opensuse.org/request/show/173989
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/strongswan?expand=0&rev=50
- Fixed a security vulnerability in the openssl plugin which was
reported by Kevin Wojtysiak. The vulnerability has been registered
as CVE-2013-2944. Before the fix, if the openssl plugin's ECDSA
signature verification was used, due to a misinterpretation of the
error code returned by the OpenSSL ECDSA_verify() function, an empty
or zeroed signature was accepted as a legitimate one. Refer to our
blog for details.
- The handling of a couple of other non-security relevant OpenSSL
return codes was fixed as well.
- The tnc_ifmap plugin now publishes virtual IPv4 and IPv6 addresses
via its TCG TNC IF-MAP 2.1 interface.
- The charon.initiator_only strongswan.conf option causes charon to
ignore IKE initiation requests.
- The openssl plugin can now use the openssl-fips library.
The version 5.0.3 provides new ipseckey plugin, enabling authentication
based on trustworthy public keys stored as IPSECKEY resource records in
the DNS and protected by DNSSEC and new openssl plugin using the AES-NI
accelerated version of AES-GCM if the hardware supports it.
See http://wiki.strongswan.org/projects/strongswan/wiki/Changelog50
for a list of all changes since the 5.0.1 release.
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=58
Verify GPG signature: Perform build-time offline GPG verification.
Please verify that included keyring matches your needs.
For manipulation with the offline keyring, please use gpg-offline tool from openSUSE:Factory, devel-tools-building or Base:System.
See the man page and/or /usr/share/doc/packages/gpg-offline/PACKAGING.HOWTO.
If you need to build your package for older products and don't want to mess spec file with ifs, please follow PACKAGING.HOWTO:
you can link or aggregate gpg-offline from
devel:tools:building or use following trick with "osc meta prjconf":
--- Cut here ----
%if 0%{?suse_version} <= 1220
Substitute: gpg-offline
%endif
Macros:
%gpg_verify(dnf) \
%if 0%{?suse_version} > 1220\
echo "WARNING: Using %%gpg_verify macro from prjconf, not from gpg-offline package."\
gpg-offline --directory="%{-d:%{-d*}}%{!-d:%{_sourcedir}}" --package="%{-n:%{-n*}}%{!-n:%{name}}""%{-f: %{-f*}}" --verify %{**}\
%else\
echo "WARNING: Dummy prjconf macro. gpg-offline is not available, skipping %{**} GPG signature verification!"\
%endif\
%nil
----------------- (forwarded request 143934 from sbrabec)
OBS-URL: https://build.opensuse.org/request/show/144037
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/strongswan?expand=0&rev=48
Verify GPG signature: Perform build-time offline GPG verification.
Please verify that included keyring matches your needs.
For manipulation with the offline keyring, please use gpg-offline tool from openSUSE:Factory, devel-tools-building or Base:System.
See the man page and/or /usr/share/doc/packages/gpg-offline/PACKAGING.HOWTO.
If you need to build your package for older products and don't want to mess spec file with ifs, please follow PACKAGING.HOWTO:
you can link or aggregate gpg-offline from
devel:tools:building or use following trick with "osc meta prjconf":
--- Cut here ----
%if 0%{?suse_version} <= 1220
Substitute: gpg-offline
%endif
Macros:
%gpg_verify(dnf) \
%if 0%{?suse_version} > 1220\
echo "WARNING: Using %%gpg_verify macro from prjconf, not from gpg-offline package."\
gpg-offline --directory="%{-d:%{-d*}}%{!-d:%{_sourcedir}}" --package="%{-n:%{-n*}}%{!-n:%{name}}""%{-f: %{-f*}}" --verify %{**}\
%else\
echo "WARNING: Dummy prjconf macro. gpg-offline is not available, skipping %{**} GPG signature verification!"\
%endif\
%nil
-----------------
OBS-URL: https://build.opensuse.org/request/show/143934
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=56