Reviewing merge request #2290: Avoid SSL error poisoning

If a client connects with an invalid certificate that doesn't parse properly, this will generate errors that are reported only through the thread error queue. Unless this queue is drained, the next call to SSL_get_error(), which very likely is from a different QSslSocket, will report these additional errors.

Thus, a malicious client connecting to a central server can cause other clients to be disconnected.

Please note that this is a hack; a stopgap measure until a proper solution can be found.

Commits that would be merged:

Version 1
  • Version 1
  • ede20ec
  • a0b69de
  • Invalid client certificates will cause multiple errors, including

Showing ede20ec-a0b69de

Comments

→ State changed from New to Reviewing

Pending – at current time we cannot accept merge requests for src/network/ssl unfortunately.

→ State changed from Reviewing to New

Andreas AH has left. MR needs to be reviewed by new person

→ State changed from New to Reviewing

reviewing…

Could you include a test case which triggers several errors to appear in the queue?

→ State changed from Reviewing to Revise and resubmit

→ State changed from Revise and resubmit to Rejected

rejected, I just pushed a more general fix to the problem to 4.7 (commit db1170458ca4a005f63e6aee9fe9cb346e8f54b6). I was trying to reproduce several errors, but did not succeed so far.

But thanks for pointing out the possible security issue!

Add a new comment:

Login or create an account to post a comment

How to apply this merge request to your repository