Skip to content
Heist/ feed
Back to feed
High

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

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-50577
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 14:08 UTC · Revision 1

Source evidence

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

core-osv · Original source

Published 18 Aug 2026, 16:52 UTC

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.

osv:CVE-2026-50577
Complete source record
{
  "id": "5b38a580f9a3c1e6f57b3cf742cf4de6a3b9557a65df1c9c7b253658cd178e53",
  "url": "https://osv.dev/vulnerability/CVE-2026-50577",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "ePA 3.x Integration: AES-GCM Nonce Reuse via Frozen VAU Request Counter",
    "summary": "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.",
    "evidence": "osv:CVE-2026-50577",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-50577",
      "aliases": [
        "CVE-2026-50577",
        "GHSA-vmfm-3f7g-r9qg"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/fbeta-gmbh/epa3-service-opensource",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "984fa75ba8ace6803bc664ce4eda890756956c83"
                },
                {
                  "fixed": "85c4c516088c38b9cf2343f388ad67a6744e9814"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "1.3.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "85c4c516088c38b9cf2343f388ad67a6744e9814"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "984fa75ba8ace6803bc664ce4eda890756956c83"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "1.3.0"
                  }
                ]
              }
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-50577.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:36.042762583Z",
      "provider": "osv",
      "references": [
        "https://github.com/fbeta-GmbH/ePA3-Service-OpenSource/releases/tag/1.3.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50577.json",
        "https://github.com/fbeta-GmbH/ePA3-Service-OpenSource/security/advisories/GHSA-vmfm-3f7g-r9qg",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-50577",
        "https://www.machinespirits.de/advisory/df27cd",
        "https://github.com/fbeta-GmbH/ePA3-Service-OpenSource/commit/85c4c516088c38b9cf2343f388ad67a6744e9814",
        "https://github.com/fbeta-GmbH/ePA3-Service-OpenSource/pull/10"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-323"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/50xxx/CVE-2026-50577.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-50577",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 503478,
  "published_at": "2026-08-18T16:52:38.214+00:00"
}