Wilfred Mallawa created an issue: https://gitlab.com/gnutls/gnutls/-/issues/1729



## Description of problem:

When `gnutls_psk_allocate_server_credentials2()` is invoked with 
GNUTLS_MAC_UNKNOWN. `_gnutls_mac_to_entry()` will return NULL as 
GNUTLS_MAC_UNKNOWN is not a `id` type in `hash_algorithms` list in 
`lib/algorithms/mac.c`.

Later in `server_recv_params()`, `pskcred->binder_algo` is de-referenced 
without a NULL check.

A simple change like diff below, fixes the segmentation fault. However, I am 
seeing errors from the target dmesg stating.

"[ 1551.681456] nvmet_tcp: queue 1: short read, 8 bytes missing"

Which I _think_ is a result of SHA384 being used instead of SHA256.

```
diff --git a/lib/algorithms/mac.c b/lib/algorithms/mac.c
index e6a8835a3..f6307fc4c 100644
--- a/lib/algorithms/mac.c
+++ b/lib/algorithms/mac.c
@@ -204,6 +204,7 @@ static SYSTEM_CONFIG_OR_CONST mac_entry_st 
hash_algorithms[] = {
          .key_size = 32,
          .block_size = 16 },
        { .name = "PBMAC1", .id = GNUTLS_MAC_PBMAC1, .placeholder = 1 },
+       { .name = "MAC-UNKNOWN", .id = GNUTLS_MAC_UNKNOWN },
        { .name = "MAC-NULL", .id = GNUTLS_MAC_NULL },
        { 0, 0, 0, 0, 0, 0, 0, 0, 0 }
```

Should `gnutls_psk_allocate_server_credentials2()` be able to accept an 
`GNUTLS_MAC_UNKNOWN` type? What is the best solution?

## Version of gnutls used:

Latest master.

## Distributor of gnutls (e.g., Ubuntu, Fedora, RHEL)

N/A

## How reproducible:

Connecting from a Linux host to a Linux target using NVMe-TCP/TLS. The segfault 
occurs during the handshake.

-- 
Reply to this email directly or view it on GitLab: 
https://gitlab.com/gnutls/gnutls/-/issues/1729
You're receiving this email because of your account on gitlab.com.


_______________________________________________
Gnutls-devel mailing list
Gnutls-devel@lists.gnutls.org
http://lists.gnupg.org/mailman/listinfo/gnutls-devel
  • [gnutls-de... Read-only notification of GnuTLS library development activities
    • Re: [... Read-only notification of GnuTLS library development activities
    • Re: [... Read-only notification of GnuTLS library development activities
    • Re: [... Read-only notification of GnuTLS library development activities
    • Re: [... Read-only notification of GnuTLS library development activities

Reply via email to