Theoretical question: Is there any reason that a client could not securely use Microsoft's Windows 7 SChannel implementation of TLS 1.2 "out of the box", as in with no updates? Having looked at SChannel vulnerabilities on the NIST National Vulnerability Database, it seems there are at least 5 known ones:

  1. CVE-2014-6321 a.k.a "Winshock"
  2. CVE-2015-1716
  3. CVE-2015-6112 "Triple Handshake Attack"
  4. CVE-2015-1637 a.k.a "FREAK" attack
  5. CVE-2010-3229 "TLSv1 DDOS Vulnerability"

However, it seems if you implement TLS v1.2 in the correct manner you can avoid these issues (although I could be and probably am completely wrong here). Again, this is just a theoretical question but stems from a conversation about utilising TLS 1.2 on a Windows 7 system with as little updates and dependencies as possible and no open source libraries.


... it seems if you implement TLS v1.2 in the correct manner you can avoid these issues ...

Some of the CVE you've listed is that TLS 1.2 wasn't implemented in the correct manner, contradicting your assumption. For example Winshock is an implementation problem which remote code execution on the TLS server side. Others are problems in the standard itself, i.e. the triple handshake attacks works even if the standard is correctly implemented.

Which means that an unpatched Windows 7 is vulnerable to these attacks, no matter if TLS 1.2 was correctly implemented on the system (which it wasn't) or not.

  • My understanding of Winshock was that an attacker can send a packet over TLS containing a malicious code that the system will inadvertently execute. This does not mean that a client can not send packets securely to a server, i.e., it does not comprimise encryption. My question asks if a client can securely use the implementation, not if the system itself is vulnerable. As for the triple handshake attacks, I was under the impression that these could be avoided by disabling renegotiation server-side. – ajq88 Oct 8 '16 at 19:32
  • 1
    @ajq88: you've asked for "implement TLS v1.2 in the correct manner" and not for explicitly disabling features of TLS (like renegotiation). And as your question currently is it does not include that you have control of the servers at all. But, if you have control of all servers the client might connect to and if you configure your server so that it uses only a specific set of ciphers, disables renegotiation and compression etc than the currently known attacks can probably be mitigated. But that does not mean that yet unknown attacks can be mitigated too without client updates. – Steffen Ullrich Oct 8 '16 at 20:21
  • Surely disabling negotiation would be an implicit part of "implementing in the correct manner", but that is a matter of semantics. So, as far as you know, with full control of the client and server, and with the correct cipher suite and features disabled, secure communications can be achieved? (disregarding unknown attacks). – ajq88 Oct 9 '16 at 11:23
  • @ajq88: correct, if you have full control over server and client you can make the necessary configurations to protect the client against currently known attacks. – Steffen Ullrich Oct 9 '16 at 12:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.