CVE-2020-13962

7.5 HIGH

📋 TL;DR

This vulnerability in Qt's SSL/TLS implementation causes OpenSSL error queue mishandling, allowing TLS session failures to disconnect unrelated sessions. It affects Qt 5.12.2 through 5.14.2 and applications using QSslSocket like unofficial Mumble 1.3.0 builds. The primary impact is denial of service through unexpected TLS session termination.

💻 Affected Systems

Products:
  • Qt
  • Mumble (unofficial builds)
  • Other applications using QSslSocket
Versions: Qt 5.12.2 through 5.14.2, Mumble 1.3.0 unofficial builds
Operating Systems: All platforms running affected Qt versions
Default Config Vulnerable: ⚠️ Yes
Notes: Official Mumble 1.3.1 is not affected regardless of Qt version. Only applications using QSslSocket are vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Critical TLS-dependent services become unavailable as multiple unrelated sessions disconnect when any single handshake fails, causing cascading service disruption.

🟠

Likely Case

Intermittent TLS connection drops affecting applications using QSslSocket, particularly in environments with mixed TLS success/failure rates.

🟢

If Mitigated

Limited to occasional connection resets in affected applications, with minimal impact on overall service availability.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires ability to trigger TLS handshake failures, which could be achieved through network manipulation or malformed certificates.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Qt 5.14.3 or later, Mumble 1.3.1

Vendor Advisory: https://bugreports.qt.io/browse/QTBUG-83450

Restart Required: Yes

Instructions:

1. Update Qt to version 5.14.3 or later. 2. Update Mumble to version 1.3.1 or later. 3. Restart affected applications/services.

🔧 Temporary Workarounds

Disable TLS for non-critical services

all

Temporarily disable TLS/SSL for affected applications where security requirements allow

Network segmentation

all

Isolate affected systems to limit propagation of TLS failures

🧯 If You Can't Patch

  • Monitor TLS handshake failure rates and investigate spikes immediately
  • Implement connection pooling with automatic reconnection for affected services

🔍 How to Verify

Check if Vulnerable:

Check Qt version with 'qmake --version' or examine application dependencies. For Mumble, check if using unofficial 1.3.0 build.

Check Version:

qmake --version

Verify Fix Applied:

Verify Qt version is 5.14.3+ and Mumble version is 1.3.1+. Test TLS connections under failure conditions.

📡 Detection & Monitoring

Log Indicators:

  • Unexpected TLS session disconnections
  • OpenSSL error queue warnings
  • Multiple simultaneous TLS handshake failures

Network Indicators:

  • Spikes in TLS renegotiation attempts
  • Unusual patterns of successful/failed TLS connections

SIEM Query:

source="*ssl*" AND ("handshake failure" OR "session disconnected" OR "error queue")

🔗 References

📤 Share & Export