Bug 1686582

Summary: Incorrect handling of fragmented KeyUpdate messages
Product: Red Hat Enterprise Linux 8 Reporter: Hubert Kario <hkario>
Component: gnutlsAssignee: Daiki Ueno <dueno>
Status: CLOSED ERRATA QA Contact: Ondrej Moriš <omoris>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.0CC: dueno, omoris, tmraz
Target Milestone: rcKeywords: Triaged
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: gnutls-3.6.8-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-11-05 22:26:20 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Hubert Kario 2019-03-07 18:26:52 UTC
Description of problem:
KeyUpdate messages interleaved with ApplicationData are not rejected by gnutls. 
This is a RFC 8446 section 5.1 violation:

   -  Handshake messages MUST NOT be interleaved with other record
      types.  That is, if a handshake message is split over two or more
      records, there MUST NOT be any other records between them.

Version-Release number of selected component (if applicable):
gnutls-3.6.5-2.el8.x86_64

How reproducible:
always

Steps to Reproduce:
1. run tlsfuzzer test-tls13-keyupdate.py test script against gnutls server

Actual results:
among failing tests there are
  '1/4 fragmented keyupdate msg, appdata between'
  '2/3 fragmented keyupdate msg, appdata between'
  '3/2 fragmented keyupdate msg, appdata between'
  '4/1 fragmented keyupdate msg, appdata between'

Expected results:
the above tests should not be listed as failing

Additional info:
there are also issues in handling split GET messages and multiple KeyUpdates in succession, but they are not directly related to this issue

Comment 13 errata-xmlrpc 2019-11-05 22:26:20 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2019:3600