Cloudanix VulnDB

CVE-2024-28834

Medium · 5.3

CVSS

5.3

EPSS

0.7%

Published

Mar 21, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A hidden timing quirk in certain secure connection libraries could let attackers slowly steal the secret keys that protect encrypted traffic.

Exploitation
Remote Authenticated
Attacker needs
Low Privilege
Complexity
High
Impact
Data Exposure
Component
Library
Class
Cryptographic Weakness
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The flaw exposes a timing side-channel in GnuTLS nonce generation when GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE is used, causing a detectable step from 513-bit to 512-bit nonces that leaks private key material.

Why it matters to the business

Successful exploitation can allow recovery of private keys used for authentication and encryption, leading to loss of confidentiality for secure sessions and potential compromise of downstream systems relying on the affected library.

How an attack unfolds

An attacker capable of observing multiple signature operations under controlled conditions measures timing variations in nonce length to gradually extract bits of the private key via the Minerva side-channel technique.

How to fix it

Upgrade affected apisix (Bitnami) deployments to version 2.13.0 or later, which incorporates the corrected GnuTLS behavior; disable the GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE flag where possible until patches are applied.

How to confirm the fix worked

Confirm the deployed GnuTLS version is newer than the vulnerable release, review application code for use of the reproducible flag, and re-test signature timing distributions to verify the 513-to-512 step is eliminated.

Typical attack path

  1. Identify services using GnuTLS with the reproducible private key flag enabled
  2. Trigger repeated signature operations while measuring response timing
  3. Analyze timing data to distinguish 513-bit versus 512-bit nonce lengths
  4. Aggregate observations to recover sufficient key material for forgery or decryption

How to detect it

Exploitation leaves no direct logs or artifacts; review application logs for unusually high volumes of signature operations from the same client and correlate with any anomalous key usage after the fact.

What your security team should do

  • Prioritize upgrade of apisix (Bitnami) to 2.13.0 across all environments
  • Audit cryptographic configurations for any use of reproducible private key flags
  • Monitor vendor advisories for additional GnuTLS-dependent packages

The record

A flaw was found in GnuTLS. The Minerva attack is a cryptographic vulnerability that exploits deterministic behavior in systems like GnuTLS, leading to side-channel leaks. In specific scenarios, such as when using the GNUTLS_PRIVKEY_FLAG_REPRODUCIBLE flag, it can result in a noticeable step in nonce size from 513 to 512 bits, exposing a potential timing side-channel.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 gnutls 0 3.6.16-8.el8_9.3
AlmaLinux:8 gnutls-c++ 0 3.6.16-8.el8_9.3
AlmaLinux:8 gnutls-dane 0 3.6.16-8.el8_9.3
AlmaLinux:8 gnutls-devel 0 3.6.16-8.el8_9.3
AlmaLinux:8 gnutls-utils 0 3.6.16-8.el8_9.3
AlmaLinux:9 gnutls 0 3.7.6-23.el9_3.4
AlmaLinux:9 gnutls 0 3.8.3-4.el9_4
AlmaLinux:9 gnutls-c++ 0 3.7.6-23.el9_3.4
AlmaLinux:9 gnutls-c++ 0 3.8.3-4.el9_4
AlmaLinux:9 gnutls-dane 0 3.7.6-23.el9_3.4
AlmaLinux:9 gnutls-dane 0 3.8.3-4.el9_4
AlmaLinux:9 gnutls-devel 0 3.7.6-23.el9_3.4
AlmaLinux:9 gnutls-devel 0 3.8.3-4.el9_4
AlmaLinux:9 gnutls-utils 0 3.7.6-23.el9_3.4
AlmaLinux:9 gnutls-utils 0 3.8.3-4.el9_4
Alpine:v3.18 gnutls 0 3.8.4-r0
Alpine:v3.19 gnutls 0 3.8.4-r0
Alpine:v3.20 gnutls 0 3.8.5-r0
Alpine:v3.21 gnutls 0 3.8.5-r0
Alpine:v3.22 gnutls 0 3.8.5-r0
Debian:11 gnutls28 0 3.7.1-5+deb11u6
Debian:12 gnutls28 0 3.7.9-2+deb12u3
Debian:13 gnutls28 0 3.8.4-2
Mageia:9 gnutls 0 3.8.4-1.mga9
Red Hat:enterprise_linux:8::appstream gnutls 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::appstream gnutls-c++ 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::appstream gnutls-c++-debuginfo 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::appstream gnutls-dane 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::appstream gnutls-dane-debuginfo 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::appstream gnutls-debuginfo 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::appstream gnutls-debugsource 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::appstream gnutls-devel 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::appstream gnutls-utils 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::appstream gnutls-utils-debuginfo 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::baseos gnutls 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::baseos gnutls-c++ 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::baseos gnutls-c++-debuginfo 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::baseos gnutls-dane 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::baseos gnutls-dane-debuginfo 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::baseos gnutls-debuginfo 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::baseos gnutls-debugsource 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::baseos gnutls-devel 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::baseos gnutls-utils 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:8::baseos gnutls-utils-debuginfo 0 0:3.6.16-8.el8_9.3
Red Hat:enterprise_linux:9::appstream gnutls 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::appstream gnutls 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::appstream gnutls-c++ 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::appstream gnutls-c++ 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::appstream gnutls-c++-debuginfo 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::appstream gnutls-c++-debuginfo 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::appstream gnutls-dane 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::appstream gnutls-dane 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::appstream gnutls-dane-debuginfo 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::appstream gnutls-dane-debuginfo 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::appstream gnutls-debuginfo 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::appstream gnutls-debuginfo 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::appstream gnutls-debugsource 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::appstream gnutls-debugsource 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::appstream gnutls-devel 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::appstream gnutls-devel 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::appstream gnutls-utils 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::appstream gnutls-utils 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::appstream gnutls-utils-debuginfo 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::appstream gnutls-utils-debuginfo 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::baseos gnutls 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::baseos gnutls 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::baseos gnutls-c++ 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::baseos gnutls-c++ 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::baseos gnutls-c++-debuginfo 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::baseos gnutls-c++-debuginfo 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::baseos gnutls-dane 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::baseos gnutls-dane 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::baseos gnutls-dane-debuginfo 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::baseos gnutls-dane-debuginfo 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::baseos gnutls-debuginfo 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::baseos gnutls-debuginfo 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::baseos gnutls-debugsource 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::baseos gnutls-debugsource 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::baseos gnutls-devel 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::baseos gnutls-devel 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::baseos gnutls-utils 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::baseos gnutls-utils 0 0:3.8.3-4.el9_4
Red Hat:enterprise_linux:9::baseos gnutls-utils-debuginfo 0 0:3.7.6-23.el9_3.4
Red Hat:enterprise_linux:9::baseos gnutls-utils-debuginfo 0 0:3.8.3-4.el9_4
Red Hat:rhel_eus:8.6::appstream gnutls 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::appstream gnutls-c++ 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::appstream gnutls-c++-debuginfo 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::appstream gnutls-dane 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::appstream gnutls-dane-debuginfo 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::appstream gnutls-debuginfo 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::appstream gnutls-debugsource 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::appstream gnutls-devel 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::appstream gnutls-utils 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::appstream gnutls-utils-debuginfo 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::baseos gnutls 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::baseos gnutls-c++ 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::baseos gnutls-c++-debuginfo 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::baseos gnutls-dane 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::baseos gnutls-dane-debuginfo 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::baseos gnutls-debuginfo 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::baseos gnutls-debugsource 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::baseos gnutls-devel 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::baseos gnutls-utils 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.6::baseos gnutls-utils-debuginfo 0 0:3.6.16-5.el8_6.4
Red Hat:rhel_eus:8.8::appstream gnutls 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::appstream gnutls-c++ 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::appstream gnutls-c++-debuginfo 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::appstream gnutls-dane 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::appstream gnutls-dane-debuginfo 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::appstream gnutls-debuginfo 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::appstream gnutls-debugsource 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::appstream gnutls-devel 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::appstream gnutls-utils 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::appstream gnutls-utils-debuginfo 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::baseos gnutls 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::baseos gnutls-c++ 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::baseos gnutls-c++-debuginfo 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::baseos gnutls-dane 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::baseos gnutls-dane-debuginfo 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::baseos gnutls-debuginfo 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::baseos gnutls-debugsource 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::baseos gnutls-devel 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::baseos gnutls-utils 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:8.8::baseos gnutls-utils-debuginfo 0 0:3.6.16-7.el8_8.3
Red Hat:rhel_eus:9.2::appstream gnutls 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::appstream gnutls-c++ 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::appstream gnutls-c++-debuginfo 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::appstream gnutls-dane 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::appstream gnutls-dane-debuginfo 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::appstream gnutls-debuginfo 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::appstream gnutls-debugsource 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::appstream gnutls-devel 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::appstream gnutls-utils 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::appstream gnutls-utils-debuginfo 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::baseos gnutls 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::baseos gnutls-c++ 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::baseos gnutls-c++-debuginfo 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::baseos gnutls-dane 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::baseos gnutls-dane-debuginfo 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::baseos gnutls-debuginfo 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::baseos gnutls-debugsource 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::baseos gnutls-devel 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::baseos gnutls-utils 0 0:3.7.6-21.el9_2.3
Red Hat:rhel_eus:9.2::baseos gnutls-utils-debuginfo 0 0:3.7.6-21.el9_2.3
Rocky Linux:8 gnutls 0 0:3.6.16-8.el8_9.3
Rocky Linux:9 gnutls 0 0:3.8.3-4.el9_4
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS gnutls 0 3.7.3-150400.4.44.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS gnutls 0 3.7.3-150400.4.44.1
SUSE:Linux Enterprise Micro 5.3 gnutls 0 3.7.3-150400.8.1
SUSE:Linux Enterprise Micro 5.4 gnutls 0 3.7.3-150400.4.44.1
SUSE:Linux Enterprise Micro 5.5 gnutls 0 3.7.3-150400.4.44.1
SUSE:Linux Enterprise Module for Basesystem 15 SP5 gnutls 0 3.7.3-150400.4.44.1
SUSE:Linux Enterprise Server 15 SP4-LTSS gnutls 0 3.7.3-150400.4.44.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 gnutls 0 3.7.3-150400.4.44.1
SUSE:Manager Proxy 4.3 gnutls 0 3.7.3-150400.4.44.1
SUSE:Manager Server 4.3 gnutls 0 3.7.3-150400.4.44.1
Ubuntu:20.04:LTS gnutls28 0 3.6.13-2ubuntu1.11
Ubuntu:22.04:LTS gnutls28 0 3.7.3-4ubuntu1.5
Ubuntu:23.10 gnutls28 0 3.8.1-4ubuntu1.3
Ubuntu:24.04:LTS gnutls28 0 3.8.3-1.1ubuntu3.1
openSUSE:Leap 15.5 gnutls 0 3.7.3-150400.4.44.1
openSUSE:Leap Micro 5.4 gnutls 0 3.7.3-150400.4.44.1
openSUSE:Tumbleweed gnutls 0 3.8.4-1.1

Related vulnerabilities