libreswan (SL7)

Synopsis: Moderate: libreswan security, bug fix and enhancement update
Advisory ID: SLSA-2015:1154-1
Issue Date: 2015-06-23
CVE Numbers: CVE-2015-3204

A flaw was discovered in the way Libreswan’s IKE daemon processed certain
IKEv1 payloads. A remote attacker could send specially crafted IKEv1
payloads that, when processed, would lead to a denial of service (daemon
crash). (CVE-2015-3204)

This update fixes the following bugs:

* Previously, the programs/pluto/state.h and
programs/pluto/kernel_netlink.c files had a maximum SELinux context size
of 257 and 1024 respectively. These restrictions set by libreswan limited
the size of the context that can be exchanged by pluto (the IPSec daemon)
when using a Labeled Internet Protocol Security (IPsec). The SElinux
labels for Labeled IPsec have been extended to 4096 bytes and the
mentioned restrictions no longer exist.

* On some architectures, the kernel AES_GCM IPsec algorithm did not work
properly with acceleration drivers. On those kernels, some acceleration
modules are added to the modprobe blacklist. However, Libreswan was
ignoring this blacklist, leading to AES_GCM failures. This update adds
support for the module blacklist to the libreswan packages and thus
prevents the AES_GCM failures from occurring.

* An IPv6 issue has been resolved that prevented ipv6-icmp Neighbour
Discovery from working properly once an IPsec tunnel is established (and
one endpoint reboots). When upgrading, ensure that /etc/ipsec.conf is
loading all /etc/ipsec.d/*conf files using the /etc/ipsec.conf “include”
statement, or explicitly include this new configuration file in

* A FIPS self-test prevented libreswan from properly starting in FIPS
mode. This bug has been fixed and libreswan now works in FIPS mode as

In addition, this update adds the following enhancements:

* A new option “seedbits=” has been added to pre-seed the Network Security
Services (NSS) pseudo random number generator (PRNG) function with entropy
from the /dev/random file on startup. This option is disabled by default.
It can be enabled by setting the “seedbits=” option in the “config setup”
section in the /etc/ipsec.conf file.

* The build process now runs a Cryptographic Algorithm Validation Program
(CAVP) certification test on the Internet Key Exchange version 1 and 2
(IKEv1 and IKEv2) PRF/PRF+ functions.


– Scientific Linux Development Team