Skip to content
OpenAdvisories

Weakness (CWE)

CWE-323: Reusing a Nonce, Key Pair in Encryption

Base Incomplete

Nonces should be used for the present occasion and only once.

How to prevent it (2 mitigations)
  1. Implementation

    Refuse to reuse nonce values.

  2. Implementation

    Use techniques such as requiring incrementing, time based and/or challenge response to assure uniqueness of nonces.

Source: MITRE CWE-323

52 results · Feed

  • High 8.4

    Krill login-session tokens reuse their encryption nonce across restarts, so any user who can log in can forge an "admin" token

    The vulnerability is that Krill encrypts every login-session token with a nonce built from a counter that is reset to 0 on every Krill restart, so the same (key, nonce) pair is used again after each restart.

  • High 8.2

    Packet CTR reports a full success length after the counter is exhausted

    In Bouncy Castle for Java LTS before 2.73.13, the native one-shot CTR packet cipher did not check that the requested input length fitted the counter space the IV left. In CTR mode the IV and the block counter share one 16-byte block, so an IV of 13 to 15 byte…

  • Medium 5.3

    AEAD nonce reuse in Zephyr secure_storage ITS default nonce provider due to missing thread synchronization

    The default AEAD nonce provider for the PSA Internal Trusted Storage transform module, secure_storage_its_transform_aead_get_nonce() in subsys/secure_storage/src/its/transform/aead_get.c, stores its nonce counter in unsynchronized function-local static variab…

  • Medium 6.5

    wolfEngine reuses the AES-CCM nonce on TLS 1.2 / DTLS 1.2 records

    wolfEngine before 1.4.1 sources the explicit AES-CCM nonce for TLS 1.2 and DTLS 1.2 records from the record input buffer instead of the TLS sequence number carried in the additional authenticated data. Because the record layer leaves the explicit-nonce field …

  • High 7.4

    wolfEngine reuses the AES-GCM nonce on every TLS 1.2 / DTLS 1.2 record

    wolfEngine before 1.4.1 generates the 8-byte explicit AES-GCM nonce once when the TLS write key is set and never increments it per record. As a result every TLS 1.2 and DTLS 1.2 AES-GCM record within a connection is encrypted under an identical key and nonce …

  • High 7.4

    wolfProvider reuses the AES-GCM nonce on every TLS 1.2 / DTLS 1.2 record

    wolfProvider before 1.2.2 generates the 8-byte explicit AES-GCM nonce once when the TLS write key is set and never increments it per record. As a result every TLS 1.2 and DTLS 1.2 AES-GCM record within a connection is encrypted under an identical key and nonc…

  • High 7.4

    ePA 3.x Integration: AES-GCM Nonce Reuse via Frozen VAU Request Counter

    ePA 3.x Integration implements the authorization workflow and writes Medical Information Objects to Germany's electronic patient record. Prior to 1.3.0, ePA 3.x Integration leaves request_counter unchanged in app/vau/VAUProtokoll.py while constructing VAU mes…

  • Low 2.3

    Kong Event Gateway AES-GCM nonce reuse due to missing key rotation enforcement

    Kong Event Gateway versions 1.0.0 through 1.1.1 and 1.2.0 do not enforce key rotation before reaching NIST SP 800-38D recommended usage limit for AES-GCM encryption keys with random nonces when the AWS IAM encryption feature is enabled. If a producer sends me…

  • High 7.1

    Reusing a Nonce, Key Pair in Encryption in HLOS

    Cryptographic Issue when using a static initialization vector for AES-GCM key wrapping, which requires a unique value for each call to ensure security.

  • Critical 9.1

    Apereo CAS 7.3.0 < 8.0.0-RC6 - AES-GCM Nonce Reuse Information Disclosure

    Apereo CAS 7.3.0 before 8.0.0-RC6 contains a cryptographic vulnerability that allows remote unauthenticated attackers to recover plaintext conversation state by exploiting AES-GCM initialization vector reuse across the server lifetime. Attackers can collect m…

  • High 7.7

    Session takeover vulnerability

    We found a chain of combining multiple weaknesses in the product that could allow an attacker to become any user in the backend and access any data: * The payment integration plugins Stripe (included in the core system), pretix-mollie, pretix-oppwa, pretix-bi…

  • Low 3.7

    ImageMagick - Information Disclosure via AES-CTR Nonce Reuse in PasskeyEncipherImage

    ImageMagick before 7.1.2-22 contains an information disclosure vulnerability in the PasskeyEncipherImage method due to AES-CTR nonce reuse. Attackers can exploit nonce reuse in the cipher implementation to recover plaintext information from encrypted images.

  • Low 2.0

    AES-GCM streaming APIs do not reject >64 GiB cumulative single messages, enabling counter wrap and keystream reuse

    AES-GCM encryption/decryption with extremely large cumulative single message sizes (>64 GiB) were not properly rejected by the streaming APIs, allowing counter wrap, keystream reuse, and consequent plaintext recovery.

  • Critical 9.1

    Crypt::DSA versions before 1.21 for Perl reused the nonce across signatures, leading to private-key recovery

    Crypt::DSA versions before 1.21 for Perl reused the nonce across signatures, leading to private-key recovery. Crypt::DSA::sign caches the per-signature nonce material in the Key object without ever clearing it. The first sign() on a Key object picks a nonce, …

  • Critical 9.1
    CVE-2026-49952 Public exploit

    Discuz! X5.0 Authentication Bypass via dbbak.php Encryption Oracle

    Discuz! X5.0 releases 20260320 through 20260501 contains an authentication bypass vulnerability that allows unauthenticated remote attackers to gain unauthorized access to database backup and restore functionality by exploiting a shared cryptographic key betw…

  • Low 2.9

    Astro: Server island encrypted parameters vulnerable to cross-component replay

    Astro is a web framework. Astro versions prior to 6.1.10 used AES-GCM encryption to protect the confidentiality and integrity of server island props and slots parameters, but did not bind the ciphertext to its intended component or parameter type. An attacker…

  • Critical 9.3

    GOSTCTR implementation unable to process more than 255 blocks correctly

    : Use of a Broken or Risky Cryptographic Algorithm vulnerability in Legion of the Bouncy Castle Inc. BC-JAVA bcprov on all (core modules). This vulnerability is associated with program files G3413CTRBlockCipher. This issue affects BC-JAVA: from 1.59 before 1.…

  • Medium 6.0

    wolfSSL ARIA-GCM TLS 1.2/DTLS 1.2 GCM nonce reuse

    In wolfSSL, ARIA-GCM cipher suites used in TLS 1.2 and DTLS 1.2 reuse an identical 12-byte GCM nonce for every application-data record. Because wc_AriaEncrypt is stateless and passes the caller-supplied IV verbatim to the MagicCrypto SDK with no internal coun…

  • High 8.1

    Philips Hue Bridge HomeKit Accessory Protocol Static Nonce Authentication Bypass Vulnerability

    Philips Hue Bridge HomeKit Accessory Protocol Static Nonce Authentication Bypass Vulnerability. This vulnerability allows network-adjacent attackers to bypass authentication on affected installations of Philips Hue Bridge. Authentication is not required to ex…

  • Medium 5.8

    Libsoup: libsoup: authentication bypass via digest authentication replay attack

    A flaw was found in Libsoup. The server-side digest authentication implementation in the SoupAuthDomainDigest class does not properly track issued nonces or enforce the required incrementing nonce-count (nc) attribute. This vulnerability allows a remote attac…

  • High 8.2

    RustDesk Encrypts Local Passwords with World-Readable Machine ID and Fixed Zero Nonce (XSalsa20-Poly1305)

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution'), Use of Password Hash With Insufficient Computational Effort vulnerability in rustdesk-client RustDesk Client rustdesk, hbb_common on Windows, MacOS, Linux (Password sec…

  • High 8.7

    strongMan vulnerable to private credential recovery due to key and counter reuse

    strongMan is a management interface for strongSwan, an OpenSource IPsec-based VPN. When storing credentials in the database (private keys, EAP secrets), strongMan encrypts the corresponding database fields. So far it used AES in CTR mode with a global databas…

  • High 7.4

    Improper management of a static JWT signing secret in the web application, where the secret lacks rotation , introducing a security risk

    HCL MyXalytics  is affected by improper management of a static JWT signing secret in the web application, where the secret lacks rotation , introducing a security risk

  • High 8.4

    Reusing a Nonce, Key Pair in Encryption in Automotive Platform

    Cryptographic issue may occur while encrypting license data.

  • High 7.2

    Johnson Controls IQ Panels2, 2+, IQHub, IQPanel 4, PowerG reusing a nonce, key pair in encryption

    Due to Nonce reuse, attackers can perform reply attack or decrypt captured packets.

  • Critical 9.1

    hpke-js reuses AEAD nonces

    hpke-js is a Hybrid Public Key Encryption (HPKE) module built on top of Web Cryptography API. Prior to version 1.7.5, the public SenderContext Seal() API has a race condition which allows for the same AEAD nonce to be re-used for multiple Seal() calls. This c…

  • Medium 6.5

    Initialization vector (IV) reuse in the web management portal of the Tenda RX2 Pro 16.03.30.14 may allow an attacker to…

  • Medium 6.5

    In hostapd 2.10 and earlier, the PKEX code remains active even after a successful PKEX association. An attacker that su…

  • Medium 5.6

    SICK InspectorP61x and SICK InspectorP62x are vulnerable for a replay attack

    The authentication process to the web server uses a challenge response procedure which inludes the nonce and additional information. This challenge can be used several times for login and is therefore vulnerable for a replay attack.

  • Medium 4.5

    Sequential calls of encryption API (`encrypt`, `wrap`, and `dump`) result in nonce reuse

    Versions of the package cocoon before 0.4.0 are vulnerable to Reusing a Nonce, Key Pair in Encryption when the encrypt, wrap, and dump functions are sequentially called. An attacker can generate the same ciphertext by creating a new encrypted message with the…

  • Medium 4.4

    PheonixAppAPI has visible Encoding Maps

    Pheonix App is a Python application designed to streamline various tasks, from managing files to playing mini-games. The issue is that the map of encoding/decoding languages are visible in code. The Problem was patched in 0.2.4.

  • Medium 5.3

    Reusing a nonce, key pair in encryption issue exists in "FreeFrom - the nostr client" App versions prior to 1.3.5 for A…

  • Medium 5.9

    netty-incubator-codec-ohttp's BoringSSLAEADContext Repeats Nonces

    netty-incubator-codec-ohttp is the OHTTP implementation for netty. BoringSSLAEADContext keeps track of how many OHTTP responses have been sent and uses this sequence number to calculate the appropriate nonce to use with the encryption algorithm. Unfortunately…

  • Medium 6.8

    CVE-2023-7003

    The AES key utilized in the pairing process between a lock using Sciener firmware and a wireless keypad is not unique, and can be reused to compromise other locks using the Sciener firmware.

  • Medium 5.3

    Consensys Discovery Nonce Reuse

    Consensys Discovery versions less than 0.4.5 uses the same AES/GCM nonce for the entire session. which should ideally be unique for every message. The node's private key isn't compromised, only the session key generated for specific peer communication is expo…

  • High 8.8

    Keystream recovery for arbitrary frames in TETRA

    Adversary-induced keystream re-use on TETRA air-interface encrypted traffic using any TEA keystream generator. IV generation is based upon several TDMA frame counters, which are frequently broadcast by the infrastructure in an unauthenticated manner. An activ…

  • Medium 6.8

    Vault's Transit Secrets Engine Allowed Nonce Specified without Convergent Encryption

    HashiCorp Vault and Vault Enterprise transit secrets engine allowed authorized users to specify arbitrary nonces, even with convergent encryption disabled. The encrypt endpoint, in combination with an offline attack, could be used to decrypt arbitrary ciphert…

  • Medium 6.8

    Discourse CSP nonce reuse vulnerability for anonymous users

    Discourse is an open source discussion platform. Prior to version 3.1.0.beta7 of the `beta` and `tests-passed` branches, a CSP (Content Security Policy) nonce reuse vulnerability was discovered could allow cross-site scripting (XSS) attacks to bypass CSP prot…

  • Medium 6.7

    Nextcloud Desktop: Initialization vector reuse in E2EE allows malicious server admin to break, manipulate, access files

    The Nextcloud Desktop Client is a tool to synchronize files from Nextcloud Server. Starting with version 3.0.0 and prior to version 3.6.5, a malicious server administrator can recover and modify the contents of end-to-end encrypted files. Users should upgrade…

  • Medium 5.9

    Hardcoded static IV and AAD with a reused key in AES GCM encryption in mod_auth_openidc

    mod_auth_openidc is an authentication/authorization module for the Apache 2.x HTTP server that functions as an OpenID Connect Relying Party, authenticating users against an OpenID Connect Provider. In mod_auth_openidc before version 2.4.9, the AES GCM encrypt…