OpenVPN 2.3.1 -- released on 2013.03.29 This release adds supports for PolarSSL 1.2. It also adds a fix to prevent potential side-channel attacks by switching to a constant-time memcmp when comparing HMACs in the openvpn_decrypt function. In addition, it contains several bugfixes and documentation updates, as well as some minor enhancements. Please add it to the tree
Please note that this version does fix a security flaw that could potentially compromise the HMAC authentication. It would therefore be nice to get into the tree as soon as possible (more info on the security impact further below.) I've bumped this version in my own local overlay with no issues during the build process. I haven't yet tried to integrate in PolarSSL support, but IMO it's more important to release the bump for security reasons than to get deps squared away for PolarSSL support. While the attack has a somewhat specific set of requirements, successfully attacking the HMAC like this allows an external attacker to inject ciphertext packets into the stream, exposing the crypto routines. While this is not alone enough to "compromise" a VPN connection, it's one step closer. Any potential flaw in the crypto system, either within OpenVPN or the SSL library itself, would be needlessly exposed as a result.
My devbox is currently broken. I'll try to get this in the tree ASAP.
Created attachment 346158 [details, diff] PolarSSL build patch I also went ahead and patched the ebuild (should apply cleanly to both of the current 2.3.0 and -9999 as a base) for the PolarSSL support provided in 2.3.1. I tested a resulting build with the feature enabled and the crypto works for me as expected.
Created attachment 346236 [details, diff] PolarSSL build patch v2 I've updated my prior patch; this one properly excludes openssl as a dependency if the polarssl USE flag is supplied, and requires ssl present when using polarssl.
This is in the tree now, thanks! Should we aim to stabilize it on an accelerated schedule?