CVE-2026-63374
AnyIO: TLSStream IDNA 2003 host name encoding enables potential TLS certificate spoofing
AnyIO is a high level asynchronous concurrency and networking framework that works on top of either Trio or asyncio. Prior to 4.14.2, connect_tcp() and TLSStream.wrap() can validate internationalized host names after the standard library converts them with IDNA 2003 instead of IDNA 2008. When a connection to a non-ASCII domain is hijacked or redirected, an attacker can obtain a legitimate certificate for the different ASCII hostname produced by IDNA 2003 and present it to the client, causing the malicious endpoint's certificate to validate. This issue is fixed in version 4.14.2.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
9.3
AnyIO: TLSStream IDNA 2003 host name encoding enables potential TLS certificate spoofing
AnyIO is a high level asynchronous concurrency and networking framework that works on top of either Trio or asyncio. Prior to 4.14.2, connect_tcp() and TLSStream.wrap() can validate internationalized host names after the standard library converts them with IDNA 2003 instead of IDNA 2008. When a connection to a non-ASCII domain is hijacked or redirected, an attacker can obtain a legitimate certificate for the different ASCII hostname produced by IDNA 2003 and present it to the client, causing the malicious endpoint's certificate to validate. This issue is fixed in version 4.14.2.
- Record
CVE-2026-63374- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-295, CWE-297
- Updated
- 2026-11-02
EUVDEUVD-2026-84522
9.3
AnyIO is a high level asynchronous concurrency and networking framework that works on top of either Trio or asyncio. Prior to 4.14.2, connect_tcp() and TLSStream.wrap() can validate internationalized host names after the standard library converts them with IDNA 2003 instead of IDNA 2008. When a connection to a non-ASCII domain is hijacked or redirected, an attacker can obtain a legitimate certificate for the different ASCII hostname produced by IDNA 2003 and present it to the client, causing the malicious endpoint's certificate to validate. This issue is fixed in version 4.14.2.
- Record
EUVD-2026-84522- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-82r6-8w77-94w6
9.3
AnyIO: TLSStream IDNA 2003 host name encoding enables potential TLS certificate spoofing
Impact
Services using internationalized (non-ASCII) domain names are potentially vulnerable to TLS connections made from AnyIO's connect_tcp() or directly via TLSStream.wrap() where the connection has (through other means) been hijacked and redirected to a malicious server. The attacker would obtain a legitimate certificate using the IDNA 2003 encoded version of the domain name and offer it to the connecting client, making the certificate validate properly on the client's end.
Patches
The vulnerability will be patched in v4.14.2.
Workarounds
Encode host names via the idna package prior to connecting.
- Record
GHSA-82r6-8w77-94w6- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-295, CWE-297
- Updated
- 2026-11-02
NVD
9.3
AnyIO is a high level asynchronous concurrency and networking framework that works on top of either Trio or asyncio. Prior to 4.14.2, connect_tcp() and TLSStream.wrap() can validate internationalized host names after the standard library converts them with IDNA 2003 instead of IDNA 2008. When a connection to a non-ASCII domain is hijacked or redirected, an attacker can obtain a legitimate certificate for the different ASCII hostname produced by IDNA 2003 and present it to the client, causing the malicious endpoint's certificate to validate. This issue is fixed in version 4.14.2.
- Record
CVE-2026-63374- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Weakness
- CWE-295, CWE-297
- Updated
- 2026-11-02
OSV
9.3
AnyIO: TLSStream IDNA 2003 host name encoding enables potential TLS certificate spoofing
AnyIO is a high level asynchronous concurrency and networking framework that works on top of either Trio or asyncio. Prior to 4.14.2, connect_tcp() and TLSStream.wrap() can validate internationalized host names after the standard library converts them with IDNA 2003 instead of IDNA 2008. When a connection to a non-ASCII domain is hijacked or redirected, an attacker can obtain a legitimate certificate for the different ASCII hostname produced by IDNA 2003 and present it to the client, causing the malicious endpoint's certificate to validate. This issue is fixed in version 4.14.2.
- Record
CVE-2026-63374- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-295, CWE-297
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-63374
9.3
AnyIO is a high level asynchronous concurrency and networking framework that works on top of either Trio or asyncio. Prior to 4.14.2, connect_tcp() and TLSStream.wrap() can validate internationalized host names after the standard library converts them with IDNA 2003 instead of IDNA 2008. When a connection to a non-ASCII domain is hijacked or redirected, an attacker can obtain a legitimate certificate for the different ASCII hostname produced by IDNA 2003 and present it to the client, causing the malicious endpoint's certificate to validate. This issue is fixed in version 4.14.2.
- Record
DEBIAN-CVE-2026-63374- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - Updated
- 2026-11-02
Show 10 moreShow less
OSVGHSA-82r6-8w77-94w6
9.3
AnyIO: TLSStream IDNA 2003 host name encoding enables potential TLS certificate spoofing
Impact
Services using internationalized (non-ASCII) domain names are potentially vulnerable to TLS connections made from AnyIO's connect_tcp() or directly via TLSStream.wrap() where the connection has (through other means) been hijacked and redirected to a malicious server. The attacker would obtain a legitimate certificate using the IDNA 2003 encoded version of the domain name and offer it to the connecting client, making the certificate validate properly on the client's end.
Patches
The vulnerability will be patched in v4.14.2.
Workarounds
Encode host names via the idna package prior to connecting.
- Record
GHSA-82r6-8w77-94w6- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - Weakness
- CWE-295, CWE-297
- Updated
- 2026-11-02
OSVPYSEC-2026-4025
9.3
AnyIO: TLSStream IDNA 2003 host name encoding enables potential TLS certificate spoofing
Impact
Services using internationalized (non-ASCII) domain names are potentially vulnerable to TLS connections made from AnyIO's connect_tcp() or directly via TLSStream.wrap() where the connection has (through other means) been hijacked and redirected to a malicious server. The attacker would obtain a legitimate certificate using the IDNA 2003 encoded version of the domain name and offer it to the connecting client, making the certificate validate properly on the client's end.
Patches
The vulnerability will be patched in v4.14.2.
Workarounds
Encode host names via the idna package prior to connecting.
- Record
PYSEC-2026-4025- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-63374
9.3
AnyIO is a high level asynchronous concurrency and networking framework that works on top of either Trio or asyncio. Prior to 4.14.2, connect_tcp() and TLSStream.wrap() can validate internationalized host names after the standard library converts them with IDNA 2003 instead of IDNA 2008. When a connection to a non-ASCII domain is hijacked or redirected, an attacker can obtain a legitimate certificate for the different ASCII hostname produced by IDNA 2003 and present it to the client, causing the malicious endpoint's certificate to validate. This issue is fixed in version 4.14.2.
- Record
UBUNTU-CVE-2026-63374- CVSS 4.0
- 9.3 Critical
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N - Updated
- 2026-11-02
OSVCLSA-2026-1790063936 No score
TuxCare security update for anyio (2 CVEs)
TuxCare rebuilt anyio to address 2 CVEs. Fixed in 3.7.1.post2+tuxcare.
- Record
CLSA-2026-1790063936- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:12324-1 No score
graphifyy-0.9.97-1.1 on GA media
These are all security issues fixed in the graphifyy-0.9.97-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2026:12324-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:22060-1 No score
Security update for python-anyio
This update for python-anyio fixes the following issues:
- CVE-2026-63374: TLSStream IDNA 2003 host name encoding enables potential TLS certificate spoofing (bsc#1281476).
- CVE-2026-64847: AnyIO process-pool workers can block indefinitely on undrained stderr (bsc#1281475).
- Record
openSUSE-SU-2026:22060-1- Updated
- 2026-11-02
OSVROOT-APP-PYPI-CVE-2026-63374 No score
CVE-2026-63374 in anyio - Patched by Root
Root has patched CVE-2026-63374 in the anyio package for Root:PyPI. Multiple fixed versions available.
- Record
ROOT-APP-PYPI-CVE-2026-63374- Updated
- 2026-11-02
OSVSUSE-SU-2026:24122-1 No score
Security update for python-anyio
This update for python-anyio fixes the following issues:
- CVE-2026-63374: TLSStream IDNA 2003 host name encoding enables potential TLS certificate spoofing (bsc#1281476).
- CVE-2026-64847: AnyIO process-pool workers can block indefinitely on undrained stderr (bsc#1281475).
- Record
SUSE-SU-2026:24122-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:24208-1 No score
Security update for python-anyio
This update for python-anyio fixes the following issues:
- CVE-2026-63374: TLSStream IDNA 2003 host name encoding enables potential TLS certificate spoofing (bsc#1281476).
- CVE-2026-64847: AnyIO process-pool workers can block indefinitely on undrained stderr (bsc#1281475).
- Record
SUSE-SU-2026:24208-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:4416-1 No score
Security update for python-anyio
This update for python-anyio fixes the following issues:
- CVE-2026-63374: : TLSStream IDNA 2003 host name encoding enables potential TLS certificate spoofing (bsc#1281476).
- CVE-2026-64847: AnyIO process-pool workers can block indefinitely on undrained stderr (bsc#1281475).
- Record
SUSE-SU-2026:4416-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
anyioPyPI |
before 4.14.2 | 4.14.2 |
anyioTuxCare:PyPI From an advisory covering 2 CVEs |
3.7.1 up to 3.7.1.post2+tuxcare, plus listed versions 3.7.1.post1+tuxcare |
3.7.1.post2+tuxcare |
python-anyioDebian:12 |
All versions, plus listed versions 3.6.2-13.7.0-14.1.0-14.11.0-14.11.0-2 Show 19 moreShow less4.11.0-34.12.1-14.12.1-24.12.1-34.15.1-14.15.1-24.15.1-34.2.0-14.3.0-14.4.0-14.6.0-14.6.2-14.6.2-24.6.2-34.6.2-44.7.0-14.8.0-14.8.0-24.8.0-3 |
None known |
python-anyioDebian:13 |
All versions, plus listed versions 4.11.0-14.11.0-24.11.0-34.12.1-14.12.1-2 Show 5 moreShow less4.12.1-34.15.1-14.15.1-24.15.1-34.8.0-3 |
None known |
python-anyioDebian:14 |
before 4.15.1-1, plus listed versions 4.11.0-14.11.0-24.11.0-34.12.1-14.12.1-24.12.1-34.8.0-3 |
4.15.1-1 |
anyioPyPI |
before 4.14.2, plus listed versions 1.0.01.0.0a11.0.0a21.0.0b11.0.0b2 Show 45 moreShow less1.0.0rc11.0.0rc21.1.01.2.01.2.11.2.21.2.31.3.01.3.11.4.02.0.02.0.0b12.0.0b22.0.0rc12.0.0rc22.0.12.0.22.1.02.2.03.0.03.0.0rc13.0.0rc23.0.0rc33.0.0rc43.0.13.1.03.2.03.2.13.3.03.3.13.3.23.3.33.3.43.4.03.5.03.6.03.6.13.6.23.7.03.7.0rc13.7.14.0.04.0.0rc14.1.04.10.0 |
4.14.2 |
anyioRoot:PyPI |
before 4.14.0+aikido.2 | 4.14.0+aikido.24.13.0+aikido.13.7.1+aikido.14.12.1+aikido.1 |
python-anyioSUSE:Linux Micro 6.2 From an advisory covering 2 CVEs |
before 4.8.0-160000.3.1 | 4.8.0-160000.3.1 |
python-anyioSUSE:Linux Enterprise Server 16.0 From an advisory covering 2 CVEs |
before 4.8.0-160000.3.1 | 4.8.0-160000.3.1 |
python-anyioSUSE:Linux Enterprise Server for SAP applications 16.0 From an advisory covering 2 CVEs |
before 4.8.0-160000.3.1 | 4.8.0-160000.3.1 |
Show 20 moreShow less
| Package | Affected | Fixed |
|---|---|---|
python-anyioSUSE:Linux Enterprise Module for Public Cloud 15 SP4 From an advisory covering 2 CVEs |
before 4.1.0-150400.9.11.1 | 4.1.0-150400.9.11.1 |
python-anyioSUSE:Linux Enterprise Module for Public Cloud 15 SP5 From an advisory covering 2 CVEs |
before 4.1.0-150400.9.11.1 | 4.1.0-150400.9.11.1 |
python-anyioSUSE:Linux Enterprise Module for Public Cloud 15 SP6 From an advisory covering 2 CVEs |
before 4.1.0-150400.9.11.1 | 4.1.0-150400.9.11.1 |
python-anyioSUSE:Linux Enterprise Module for Python 3 15 SP7 From an advisory covering 2 CVEs |
before 4.1.0-150400.9.11.1 | 4.1.0-150400.9.11.1 |
python-anyioSUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS From an advisory covering 2 CVEs |
before 4.1.0-150400.9.11.1 | 4.1.0-150400.9.11.1 |
python-anyioSUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS From an advisory covering 2 CVEs |
before 4.1.0-150400.9.11.1 | 4.1.0-150400.9.11.1 |
python-anyioSUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS From an advisory covering 2 CVEs |
before 4.1.0-150400.9.11.1 | 4.1.0-150400.9.11.1 |
python-anyioSUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS From an advisory covering 2 CVEs |
before 4.1.0-150400.9.11.1 | 4.1.0-150400.9.11.1 |
python-anyioSUSE:Linux Enterprise Server 15 SP4-LTSS From an advisory covering 2 CVEs |
before 4.1.0-150400.9.11.1 | 4.1.0-150400.9.11.1 |
python-anyioSUSE:Linux Enterprise Server 15 SP5-LTSS From an advisory covering 2 CVEs |
before 4.1.0-150400.9.11.1 | 4.1.0-150400.9.11.1 |
python-anyioSUSE:Linux Enterprise Server 15 SP6-LTSS From an advisory covering 2 CVEs |
before 4.1.0-150400.9.11.1 | 4.1.0-150400.9.11.1 |
python-anyioSUSE:Linux Enterprise Server for SAP Applications 15 SP4 From an advisory covering 2 CVEs |
before 4.1.0-150400.9.11.1 | 4.1.0-150400.9.11.1 |
python-anyioSUSE:Linux Enterprise Server for SAP Applications 15 SP5 From an advisory covering 2 CVEs |
before 4.1.0-150400.9.11.1 | 4.1.0-150400.9.11.1 |
python-anyioSUSE:Linux Enterprise Server for SAP Applications 15 SP6 From an advisory covering 2 CVEs |
before 4.1.0-150400.9.11.1 | 4.1.0-150400.9.11.1 |
python-anyioUbuntu:22.04:LTS |
All versions, plus listed versions 2.0.2-23.5.0-2ubuntu13.5.0-3ubuntu2 |
None known |
python-anyioUbuntu:24.04:LTS |
All versions, plus listed versions 3.7.0-14.2.0-1 |
None known |
python-anyioUbuntu:26.10 |
All versions, plus listed versions 4.11.0-34.12.1-24.12.1-34.15.1-3 |
None known |
python-anyioUbuntu:26.04:LTS |
All versions, plus listed versions 4.8.0-34.11.0-24.11.0-3 |
None known |
graphifyyopenSUSE:Tumbleweed |
before 0.9.97-1.1 | 0.9.97-1.1 |
python-anyioopenSUSE:Leap 16.0 From an advisory covering 2 CVEs |
before 4.8.0-160000.3.1 | 4.8.0-160000.3.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-63374 is a critical vulnerability (CVSS 9.3) in Agronholm Anyio, published September 18, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.29%, the 21st percentile. Fixed in anyio 4.14.2.
References
github.com/agronholm/anyio/security/advisories/GHSA-82r6-8w77-94w6
github.com/agronholm/anyio/pull/1208
github.com/agronholm/anyio/commit/68f58915f82d9be8109ebbbd8f5d70577d43f2ce
github.com/agronholm/anyio/releases/tag/4.14.2
github.com/advisories/GHSA-82r6-8w77-94w6
github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63374.json
Show 13 moreShow less
nvd.nist.gov/vuln/detail/CVE-2026-63374
security-tracker.debian.org/tracker/CVE-2026-63374
github.com/agronholm/anyio
pypi.org/project/anyio
suse.com/support/update/announcement/2026/suse-su-202624122-1
bugzilla.suse.com/1281475
bugzilla.suse.com/1281476
suse.com/security/cve/CVE-2026-63374
suse.com/security/cve/CVE-2026-64847
suse.com/support/update/announcement/2026/suse-su-202624208-1
suse.com/support/update/announcement/2026/suse-su-20264416-1
ubuntu.com/security/CVE-2026-63374
cve.org/CVERecord?id=CVE-2026-63374
Left out here: 19 versions. The JSON record has them.