A TLS impersonation attack was discovered in Mono’s TLS stack by researchers at Inria (SKIP-TLS. During checks on our TLS stack, we have discovered two further issues which we have fixed - SSLv2 support, and vulnerability to FREAK. These vulnerabilities affect basically every Mono version ever released.
All three issues should be addressed in the following patches:
- Patch to address SKIP TLS vulnerability
- Patch to address FREAK vulnerability
- Removal of SSLv2
These patches should apply to all Mono versions from 3.4.0 or so onwards. The FREAK patch requires slight modification in order to apply to Mono releases prior to 3.x patch for Mono pre-3.4 should work for these users. The Impersonation patch requires slight modification to apply to Mono releases prior to 3.4 patch for Mono pre-3.4 should work for these users.
Alternatively, this is fixed in Mono 3.12.1 and higher: mono-3.12.1.tar.bz2
Mono’s github repository contains the bug fix for all supported branches (master, mono-4.0.0-branch, mono-3.12.0-branch, mono-3.10.0-branch).
Linux and Mac downloads from mono-project.com have been updated to 3.12.1 - the Windows release will take another day or two.
Below is a (non-exhaustive) list of Mono versions in use in supported distributions, and the patches they require for full coverage.
- 2.4 branch (Ubuntu 10.04)
- SSLv2 patch, Modified Impersonation patch, Modified FREAK patch
- 2.6.7 (Debian 6, SLES 11)
- SSLv2 patch, Modified Impersonation patch, Modified FREAK patch
- 2.10.8 (Fedora 19, 20, 21)
- SSLv2 patch, Modified Impersonation patch, Modified FREAK patch
- 2.10.8.1 (Debian 7, Ubuntu 12.04)
- SSLv2 patch, Modified Impersonation patch, Modified FREAK patch
- 3.0.3 (openSUSE 12.3)
- SSLv2 patch, Modified Impersonation patch, FREAK patch
- 3.0.6 (openSUSE 13.1)
- SSLv2 patch, Modified Impersonation patch, FREAK patch
- 3.2.8 (Debian 8, Ubuntu 12.10, 14.10, 15.04, Gentoo)
- SSLv2 patch, Modified Impersonation patch, FREAK patch
- 3.10.0 (Arch)
- SSLv2 patch, Impersonation patch, FREAK patch