mirror of https://github.com/openssl/openssl.git
				
				
				
			Don't send a status_request extension in a CertificateRequest message
If a TLSv1.3 server configured to respond to the status_request extension
also attempted to send a CertificateRequest then it was incorrectly
inserting a non zero length status_request extension into that message.
The TLSv1.3 RFC does allow that extension in that message but it must
always be zero length.
In fact we should not be sending the extension at all in that message
because we don't support it.
Fixes #9767
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/9780)
(cherry picked from commit debb64a0ca)
			
			
This commit is contained in:
		
							parent
							
								
									5d16346679
								
							
						
					
					
						commit
						f8affa2995
					
				| 
						 | 
					@ -1487,6 +1487,10 @@ EXT_RETURN tls_construct_stoc_status_request(SSL *s, WPACKET *pkt,
 | 
				
			||||||
                                             unsigned int context, X509 *x,
 | 
					                                             unsigned int context, X509 *x,
 | 
				
			||||||
                                             size_t chainidx)
 | 
					                                             size_t chainidx)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    /* We don't currently support this extension inside a CertificateRequest */
 | 
				
			||||||
 | 
					    if (context == SSL_EXT_TLS1_3_CERTIFICATE_REQUEST)
 | 
				
			||||||
 | 
					        return EXT_RETURN_NOT_SENT;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!s->ext.status_expected)
 | 
					    if (!s->ext.status_expected)
 | 
				
			||||||
        return EXT_RETURN_NOT_SENT;
 | 
					        return EXT_RETURN_NOT_SENT;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue