ePA 3.x Integration vulnerabilities
4 known CVE vulnerabilities in ePA 3.x Integration, translated and rated.
- CVE-2026-52723Critical
ePA 3.x Integration before version 1.3.0 contains a vulnerability in VAU server certificate validation. A network-positioned attacker can intercept the VAU handshake and impersonate the server, controlling session keys and reading or modifying encrypted traffic.
- CVE-2026-50578High
ePA 3.x Integration before version 1.3.0 disables TLS certificate verification for both ePA connections in app/vau/VAUProtokoll.py and Konnektor connections in app/konnektor/Konnektor.py. A network-positioned attacker can present an arbitrary certificate, terminate the TLS connection, and intercept ePA traffic. The VAU protocol does not provide an effective fallback because its application-layer certificate validation is also broken. The Konnektor session uses self.session.verify set to False, so an attacker impersonating the Konnektor can receive the client's mutual TLS certificate exchange and observe smartcard operations.
- CVE-2026-50577High
ePA 3.x Integration before version 1.3.0 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, allowing forged AES-GCM messages and injection of malicious responses.
- CVE-2026-50576Medium
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 does not neutralize CRLF characters in values used by app/vau/VAUProtokoll.py to construct VAU inner HTTP requests. The build_inner_header function interpolates the uri, host, accept_type, content_type, content_length, USER_AGENT, and insurant_id values into request lines and headers, including x-useragent and x-insurantid. An authenticated attacker who controls a value can inject additional headers into the inner request. Depending on ePA server handling, an injected x-insurantid header can expose another patient's records, and injected Authorization headers can bypass the intended authentication or authorization context. Session-derived USER_AGENT input can also poison requests across the session. This issue is fixed in version 1.3.0.

