erlang_quic is a pure Erlang QUIC implementation. Prior to version 1.4.4, the QUIC client did not authenticate the server during the TLS 1.3 handshake. The CertificateVerify signature was not checked, the certificate chain was not validated, and the hostname was not compared against the certificate, so `verify` was effectively a no-op on the client. A man-in-the-middle on the network path could present any certificate and impersonate any server, defeating the confidentiality and integrity of the connection. HTTP/3 uses the same client and was equally affected. Handshakes authenticated by a PSK (session resumption) are not affected, because the peer is authenticated by the PSK binder and no certificate is sent. This is fixed in 1.4.4. The client now verifies the CertificateVerify signature, validates the certificate chain against the trust store (`cacerts` option, the operating system store by default), and checks the hostname. Client `verify` now defaults to on; set `verify => false` to accept any certificate (for example a self-signed test server). No known workarounds are available before 1.4.4. `verify => true` had no effect, and inspecting the certificate after connecting does not help because without the signature check the peer is never proven to own the certificate it presents.
Security readout for executives and security teams
Plain-English summary
Before version 1.4.4, erlang_quic clients could not reliably confirm a server’s identity. An attacker positioned on the network path could impersonate a QUIC or HTTP/3 server, exposing or altering sensitive traffic. The flaw does not affect sessions authenticated through a pre-shared key.
Executive priority
Treat this as an urgent upgrade for affected clients, especially those operating across untrusted networks or carrying sensitive traffic. The CVSS score is 9.1, no pre-1.4.4 workaround is documented, and existing verification configurations did not provide protection.
Technical view
The client omitted TLS 1.3 CertificateVerify signature validation, certificate-chain validation, and hostname matching. Consequently, client verification settings were ineffective for certificate-authenticated handshakes. Version 1.4.4 adds signature, trust-chain, and hostname checks, using the configured CA certificates or operating-system trust store by default.
Likely exposure
Exposure is limited to applications using erlang_quic versions earlier than 1.4.4 as a QUIC or HTTP/3 client. Certificate-authenticated connections are affected, including when verification was explicitly enabled. PSK-authenticated resumed sessions are not affected. The sources do not identify specific downstream applications or deployments.
Exploitation context
Successful abuse requires an attacker able to intercept or manipulate the network path. The attacker could impersonate the intended server and compromise connection confidentiality and integrity. The supplied sources provide no evidence of known active exploitation, and the CVE is not identified as being in KEV.
Researcher notes
The core failure is incomplete peer authentication under TLS 1.3, mapped to CWE-295 and CWE-297. Certificate inspection alone was insufficient because the client did not prove that the peer owned the presented certificate. Assess initial certificate-based handshakes separately from PSK-authenticated resumptions.
Mitigation direction
Upgrade every affected erlang_quic client dependency to version 1.4.4 or later.
Prioritize HTTP/3 and QUIC clients carrying credentials, sensitive data, or integrity-critical traffic.
Do not rely on verification settings or post-connection certificate inspection on older versions.
Follow vendor guidance; the advisory states no workaround exists before version 1.4.4.
Validation and detection
Inventory deployed and bundled erlang_quic versions, including transitive dependencies.
Identify applications initiating QUIC or HTTP/3 connections with certificate-based TLS authentication.
Confirm upgraded clients enable verification and use the intended CA trust store and hostname.
Retest certificate rejection behavior after upgrading, without exposing production traffic.
Separate PSK-resumed sessions from certificate-authenticated initial handshakes when assessing historical exposure.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · low confidence lookup
CWE-295: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
2Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.