Description
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 messages. The frozen client request counter causes the server side to reuse AES-GCM nonce and key combinations across responses. A network attacker who collects repeated ciphertexts can recover the XOR of plaintexts and use predictable inner HTTP headers and JSON fields to recover sensitive data, including patient health records. Repeated nonces can also enable recovery of the GHASH authentication key through the Joux forbidden attack, allowing forged AES-GCM messages and injection of malicious responses. The response-counter check also fails to maintain last_response_counter, weakening replay and ordering validation. This issue is fixed in version 1.3.0.
Published: 2026-08-18
Score: 7.4 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises from ePA 3.x Integration leaving the request_counter unchanged in VAUProtokoll.py; as a result the message nonce and key combinations are reused across multiple responses. This nonce reuse violates AES‑GCM’s core assumption that a nonce must be unique for a given key, allowing an attacker who can observe more than one ciphertext to recover the XOR of the corresponding plaintexts. With predictable HTTP headers and JSON fields, the XOR leak can directly expose sensitive patient health records. In addition, replay of repeated nonces enables the Joux forbidden key‑recovery attack, allowing the attacker to recover the GHASH authentication key and forge AES‑GCM messages, thereby injecting malicious responses. Thus the impact includes confidentiality and integrity compromise of transmitted medical data.

Affected Systems

Affected vendors and products include fbeta‑GmbH’s ePA3‑Service‑OpenSource implementation of the integration workflow for Germany’s electronic patient record system. All releases prior to version 1.3.0 are impacted, as the code that updates request_counter and last_response_counter was not applied. The issue is fixed in ePA 3.x Integration release 1.3.0 and any later revision that incorporates the patch commit 85c4c516088c38b9cf2343f388ad67a6744e9814.

Risk and Exploitability

The CVSS score of 7.4 denotes a medium‑to‑high severity vulnerability. EPSS data is not available, and the vulnerability is not currently listed in CISA’s KEV catalog, but the technical nature of nonce reuse combined with the ability of a network attacker to gather multiple ciphertexts makes exploitation plausible in environments where the ePA service is exposed to untrusted networks. Exploitation would require passive network visibility and no special privileges; once sufficient encrypted responses are collected, an attacker can extract portions of the plaintexts and eventually derive the authentication key to fabricate arbitrary responses. Therefore, although the EPSS figure is unknown, the combination of a high CVSS score and a known, easy‑to‑reproduce attack path warrants immediate attention from affected customers.

Generated by OpenCVE AI on August 18, 2026 at 18:31 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade ePA 3.x Integration to version 1.3.0 or newer, which resets the request_counter and enforces proper nonce handling.
  • If upgrade is not viable, modify the VAUProtokoll.py logic to increment the request_counter for each outgoing VAU request and to track and validate the last_response_counter, ensuring unique nonces and preserving order.
  • Implement network controls to limit exposure of the ePA service to trusted hosts only and enforce TLS 1.2+ to protect traffic from eavesdropping.
  • Apply traditional cryptographic hygiene: rotate the AES‑GCM key periodically and verify that the key material is stored securely, preventing reuse across sessions.

Generated by OpenCVE AI on August 18, 2026 at 18:31 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 18 Aug 2026 17:00:00 +0000

Type Values Removed Values Added
Description 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 messages. The frozen client request counter causes the server side to reuse AES-GCM nonce and key combinations across responses. A network attacker who collects repeated ciphertexts can recover the XOR of plaintexts and use predictable inner HTTP headers and JSON fields to recover sensitive data, including patient health records. Repeated nonces can also enable recovery of the GHASH authentication key through the Joux forbidden attack, allowing forged AES-GCM messages and injection of malicious responses. The response-counter check also fails to maintain last_response_counter, weakening replay and ordering validation. This issue is fixed in version 1.3.0.
Title ePA 3.x Integration: AES-GCM Nonce Reuse via Frozen VAU Request Counter
Weaknesses CWE-323
References
Metrics cvssV3_1

{'score': 7.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-18T16:52:38.214Z

Reserved: 2026-06-04T21:34:34.427Z

Link: CVE-2026-50577

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-18T17:16:58.790

Modified: 2026-08-18T17:16:58.790

Link: CVE-2026-50577

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T18:45:03Z

Weaknesses
  • CWE-323

    Reusing a Nonce, Key Pair in Encryption