- 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
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
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
- 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
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
- 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
-----------------
OBS-URL: https://build.opensuse.org/request/show/143934
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=56
- Introduced the sending of the standard IETF Assessment Result
PA-TNC attribute by all strongSwan Integrity Measurement Verifiers.
- Extended PTS Attestation IMC/IMV pair to provide full evidence of
the Linux IMA measurement process. All pertinent file information
of a Linux OS can be collected and stored in an SQL database.
- The PA-TNC and PB-TNC protocols can now process huge data payloads.
- The xauth-pam backend can authenticate IKEv1 XAuth and Hybrid
authenticated clients against any PAM service.
- The new unity plugin brings support for some parts of the IKEv1
Cisco Unity Extensions.
- The kernel-netlink plugin supports the new strongswan.conf option
charon.install_virtual_ip_on.
- Job handling in controller_t was fixed, which occasionally caused
crashes on ipsec up/down.
- Fixed transmission EAP-MSCHAPv2 user name if it contains a domain
part.
Changes digest from strongSwan 5.0.0 version:
* The charon IKE daemon gained experimental support for the IKEv1
protocol. Pluto has been removed from the 5.x series.
* The NetworkManager charon plugin of previous releases is now
provided by a separate executable (charon-nm) and it should work
again with NM 0.9.
* scepclient was updated and it now works fine with Windows Server
2008 R2.
For full list of the changes, please read the NEWS file shipped
in the strongswan-doc package or online:
http://wiki.strongswan.org/projects/strongswan/wiki/Changelog50
- Adopted spec file, enabled several plugins.
- Changed to install strongswan.service with alias to ipsec.service
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=51
- Fixed a security vulnerability in the gmp plugin. If this
plugin was used for RSA signature verification an empty or
zeroed signature was handled as a legitimate one
(bnc#761325, CVE-2012-2388).
- Fixed several issues with reauthentication and address updates.
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=46
- The tnc-pdp plugin implements a RADIUS server interface allowing
a strongSwan TNC server to act as a Policy Decision Point.
- The eap-radius authentication backend enforces Session-Timeout
attributes using RFC4478 repeated authentication and acts upon
RADIUS Dynamic Authorization extensions, RFC 5176. Currently
supported are disconnect requests and CoA messages containing
a Session-Timeout.
- The eap-radius plugin can forward arbitrary RADIUS attributes
from and to clients using custom IKEv2 notify payloads. The new
radattr plugin reads attributes to include from files and prints
received attributes to the console.
- Added support for untruncated MD5 and SHA1 HMACs in ESP as used
in RFC 4595.
- The cmac plugin implements the AES-CMAC-96 and AES-CMAC-PRF-128
algorithms as defined in RFC 4494 and RFC 4615, respectively.
- The resolve plugin automatically installs nameservers via
resolvconf(8), if it is installed, instead of modifying
/etc/resolv.conf directly.
- The IKEv2 charon daemon supports now raw RSA public keys in RFC
3110 DNSKEY and PKCS#1 file format.
- The farp plugin sends ARP responses for any tunneled address,
not only virtual IPs.
- Charon resolves hosts again during additional keying tries.
- Fixed switching back to original address pair during MOBIKE.
- When resending IKE_SA_INIT with a COOKIE charon reuses the previous
DH value, as specified in RFC 5996.
This has an effect on the lifecycle of diffie_hellman_t, see
source:src/libcharon/sa/keymat.h#39 for details.
- COOKIEs are now kept enabled a bit longer to avoid certain race
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=44
Changes in 4.6.1:
- Because of changing checksums before and after installation which caused
the integrity tests to fail we avoided directly linking libsimaka,
libtls and libtnccs to those libcharon plugins which make use of these
dynamiclibraries.
Instead we linked the libraries to the charon daemon. Unfortunately
Ubuntu 11.10 activated the --as-needed ld option which discards explicit
links to dynamic libraries that are not actually used by the charon
daemon itself, thus causing failures during the loading of the plugins
which depend on these libraries for resolving external symbols.
- Therefore our approach of computing integrity checksums for plugins had
to be changed radically by moving the hash generation from the
compilation to the post-installation phase.
Changes in 4.6.0:
- The new libstrongswan certexpire plugin collects expiration information
of all used certificates and exports them to CSV files. It either
directly exports them or uses cron style scheduling for batch exports.
- Starter passes unresolved hostnames to charon, allowing it to do name
resolution not before the connection attempt. This is especially useful
with connections between hosts using dynamic IP addresses.
Thanks to Mirko Parthey for the initial patch.
- The android plugin can now be used without the Android frontend patch
and provides DNS server registration and logging to logcat.
- Pluto and starter (plus stroke and whack) have been ported to Android.
- Support for ECDSA private and public key operations has been added to
the pkcs11 plugin. The plugin now also provides DH and ECDH via PKCS#11
and can use tokens as random number generators (RNG). By default only
private key operations are enabled, more advanced features have to be
enabled by their option in strongswan.conf. This also applies to public
OBS-URL: https://build.opensuse.org/package/show/network:vpn/strongswan?expand=0&rev=39