CVE-2026-105794: MsQuic: Improper Certificate Validation in Microsoft.Native.Quic.MsQuic.OpenSSL
MsQuic builds that use the OpenSSL or QuicTLS backend did not check the server certificate against the target hostname. An on-path attacker can present any otherwise valid certificate and impersonate the server. Update the NuGet package `Microsoft.Native.Quic.MsQuic.OpenSSL` to 2.4.20, 2.5.11 or 2.6.1. The Schannel backend is not affected.
Published Oct 6, 2026 · Analysis Oct 25, 2026
What an attacker can do
QUIC clients must confirm that the certificate presented by the server matches the name they meant to connect to. In MsQuic with OpenSSL or QuicTLS, the target hostname was not validated against the server certificate. A certificate for a different host passed, as long as it otherwise validated.
The attacker must sit on the network path between client and server, for example on shared Wi-Fi, a compromised router or a hostile network segment. They also need a certificate that chains to a CA the client trusts, for any domain they control. They then terminate the QUIC connection, present that certificate, and the client accepts the connection as if it were the real server. From there they can read and change the traffic. The CVSS 4.0 vector rates confidentiality and integrity impact high.
Any product that embeds the MsQuic OpenSSL build for outbound QUIC connections inherits the problem, including .NET and native applications that ship this package. The advisory page names no downstream products.
Who is affected
The NuGet package Microsoft.Native.Quic.MsQuic.OpenSSL in three ranges:
- below 2.4.20
- 2.5.0 up to but not including 2.5.11
- 2.6.0 up to but not including 2.6.1
Only the OpenSSL and QuicTLS TLS backends are affected. Schannel builds are not.
dotnet list package --include-transitive | grep MsQuicFor native builds, check which version and TLS backend you compiled against.
Microsoft.Native.Quic.MsQuic.OpenSSL
- Ecosystem
- NuGet
- Affected
- < 2.4.20
- Fixed in
- 2.4.20
- Check
dotnet list package --include-transitive
Microsoft.Native.Quic.MsQuic.OpenSSL
- Ecosystem
- NuGet
- Affected
- >= 2.5.0, < 2.5.11
- Fixed in
- 2.5.11
- Check
dotnet list package --include-transitive
Microsoft.Native.Quic.MsQuic.OpenSSL
- Ecosystem
- NuGet
- Affected
- >= 2.6.0, < 2.6.1
- Fixed in
- 2.6.1
- Check
dotnet list package --include-transitive
How to fix it
Upgrade to the patched release for your line: 2.6.1, 2.5.11 or 2.4.20.
dotnet add package Microsoft.Native.Quic.MsQuic.OpenSSL --version 2.6.1The fix validates the server name passed to ConnectionStart against the certificate, using the OpenSSL calls X509_VERIFY_PARAM_set1_host and X509_VERIFY_PARAM_set1_ip_asc. If no server name is given, it validates against the target IP address. Rebuild and redeploy every application that bundles the library. The advisory page shows no workaround.
How to tell if you were hit
Inventory the applications and images that include MsQuic OpenSSL builds below the patched versions. The sources give no log line for an attack. A successful man-in-the-middle looks like a normal connection, so check for QUIC connections that reached an unexpected address or that used a certificate whose name differs from the target.
Original advisory
From the GitHub Advisory Database (CC BY 4.0).
Summary
Improper TLS hostname verification allows a man-in-the-middle (MITM) attack on MsQuic.
Details
Only MsQuic with the OpenSSL and QuicTLS TLS backends is affected (the Schannel backend is not affected).
Patches
2.6.1, 2.5.11, and 2.4.20
Impact
An on-path attacker could spoof a server identity by using a certificate that doesn't match the intended target server hostname.
Questions
- Is the Schannel backend affected?
No. The advisory states only builds with the OpenSSL and QuicTLS TLS backends are affected.
- Which versions fix CVE-2026-105794?
2.6.1, 2.5.11 and 2.4.20, one for each release line. Upgrade within your line or move to 2.6.1.
- What does an attacker need?
A position on the network path between client and server, and a certificate that the client would otherwise trust. No credentials or user interaction are needed.
References
Read for this analysis:
- https://github.com/microsoft/msquic/security/advisories/GHSA-w5f4-fx9m-m4q7
- https://github.com/microsoft/msquic/pull/6277
- https://nvd.nist.gov/vuln/detail/CVE-2026-105794
- https://github.com/microsoft/msquic/pull/6274
- https://github.com/microsoft/msquic/pull/6275
- https://github.com/microsoft/msquic/pull/6276
- https://github.com/microsoft/msquic/commit/0591586443cc73a2d2cfb679527d91a144b4a412
- https://github.com/microsoft/msquic/commit/508e811370df93e2ad848f5c78347d4fe4f65a91
- https://github.com/microsoft/msquic/commit/90fd45498bf9b506b8556fb407088688474d6c81
- https://github.com/microsoft/msquic/commit/a01333cf7c2659cce0ff03ef3f21e1ff15bb5b83
- https://github.com/microsoft/msquic/releases/tag/v2.4.20
- https://github.com/microsoft/msquic/releases/tag/v2.5.11
- https://github.com/microsoft/msquic/releases/tag/v2.6.1
- https://github.com/advisories/GHSA-w5f4-fx9m-m4q7
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. The analysis is written by an AI model from the sources listed above and checked by automated rules before it is published. Check versions against the vendor's advisory before you act. Methodology
