group.of.nepali.translators team mailing list archive
-
group.of.nepali.translators team
-
Mailing list archive
-
Message #30570
[Bug 1807439] Re: openvpn crashes when run with fips openssl
This bug was fixed in the package openvpn - 2.4.4-2ubuntu1.2
---------------
openvpn (2.4.4-2ubuntu1.2) bionic; urgency=medium
* d/p/openvpn-fips-2.4.patch: Allow MD5 in FIPS mode (openssl) for PRF.
(LP: #1807439)
-- Joy Latten <joy.latten@xxxxxxxxxxxxx> Wed, 09 Jan 2019 15:50:03
-0600
** Changed in: openvpn (Ubuntu Bionic)
Status: Fix Committed => Fix Released
** Changed in: openvpn (Ubuntu Xenial)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1807439
Title:
openvpn crashes when run with fips openssl
Status in OpenVPN:
Unknown
Status in openvpn package in Ubuntu:
Fix Released
Status in openvpn source package in Xenial:
Fix Released
Status in openvpn source package in Bionic:
Fix Released
Status in openvpn source package in Cosmic:
Fix Released
Status in openvpn source package in Disco:
Fix Released
Bug description:
[IMPACT]
openvpn segfaults when using fips-mode openssl because of MD5.
xenial has version 2.3.x and subsequent releases have 2.4.x.
MD5 is used in 2 places in 2.3.x and one place in 2.4.x.
First place:
openvpn when estabishing a tls connection will segfault when used with Ubuntu's FIPS 140-2 libcrypto.so (openssl).
openvpn tls connection does TLS PRF(pseudorandom function) to produce securely generated pseudo random output that is used to generate keys.
MD5 is used as the hash in this computation.
FIPS 140-2 does not permit MD5 use except when used for pseudorandom
function (PRF). When openvpn requests MD5 operation to FIPS-mode
libcrypto.so, since it is not allowed in general, FIPS-mode
libcrypto.so goes into an error state.
The context flag value, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW, is defined in
both FIPS and non-FIPS libcrypto.so. However, the MD5 check for it is
only in FIPS-mode libcrypto.so to permit MD5. In non-FIPS libcrypto.so
this check does not exist since it always permits MD5. openvpn should
use this flag when it makes its MD5 request.
Second place (only in 2.3.x):
**NOTE: The openvpn 2.3 version in xenial has the above issue and an additional one. It also use MD5 internally for configuration status verification. It is not communicated externally. However, this particular use of MD5 is not allowed by FIPS and thus when openvpn tries to use FIPS-mode libcrypto.so to compute MD5, it results in openvpn segfaulting. This 2nd issue was fixed by upstream openvpn community in subsequent versions(2.4) to not use MD5 and use SHA(256) instead and thus why bionic, cosmic, and disco do not require any change for this 2nd issue.
[TEST]
Test data including commands and parameters are included below.
Testing comprised establishing a tls connection between an openvpn
client and server. Once the connection was successfully established, a
ping thru the established vpn tunnel was done from the client for
assurance.
Interoperability testing was done to ensure no regression. Test data
reflects testing was done between openvpn server and client with and
without the patch and between various releases (xenial, bionic, and
disco).
Test was also done with FIPS-enabled libcrypto.so to ensure everything
worked in FIPS mode.
[REGRESSION]
The context flag value, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW, is defined in both FIPS-mode openssl and non-FIPS openssl. However, the MD5-permit check against this flag-value does not occur in non-FIPS libcrypto.so, so there should be no change in behaviour. non-FIPS libcrypto.so should continue to service all MD5 requests.
xenial with version 2.3.x, has additional change of using SHA256
instead of MD5 for configuration status verification. This is an
internal hash that is not communicated externally. Thus it should not
regress interoperability or ability to establish connections.
To manage notifications about this bug go to:
https://bugs.launchpad.net/openvpn/+bug/1807439/+subscriptions