CVE-2026-123610
rustls before 0.23.46 Denial of Service via Brotli Certificate Decompression
rustls before 0.23.46 contains an uncontrolled memory allocation flaw in its optional Brotli certificate decompression, which limits decompressed output size but accepts an input-selected large history window. Malicious peers can send a certificate with a five-byte Brotli header requesting up to 1 GiB before authentication, aborting Brotli-enabled clients or client-authenticating servers whose allocator cannot satisfy the request.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used 6.3
rustls before 0.23.46 Denial of Service via Brotli Certificate Decompression
rustls before 0.23.46 contains an uncontrolled memory allocation flaw in its optional Brotli certificate decompression, which limits decompressed output size but accepts an input-selected large history window. Malicious peers can send a certificate with a five-byte Brotli header requesting up to 1 GiB before authentication, aborting Brotli-enabled clients or client-authenticating servers whose allocator cannot satisfy the request.
- Record
CVE-2026-123610- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-770
- Updated
- 2026-11-08
EUVDEUVD-2026-119369 6.3
rustls before 0.23.46 contains an uncontrolled memory allocation flaw in its optional Brotli certificate decompression, which limits decompressed output size but accepts an input-selected large history window. Malicious peers can send a certificate with a five-byte Brotli header requesting up to 1 GiB before authentication, aborting Brotli-enabled clients or client-authenticating servers whose allocator cannot satisfy the request.
- Record
EUVD-2026-119369- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - Updated
- 2026-11-08
GitHub AdvisoriesGHSA-gg47-62fq-vrhp 6.3
rustls before 0.23.46 contains an uncontrolled memory allocation flaw in its optional Brotli...
rustls before 0.23.46 contains an uncontrolled memory allocation flaw in its optional Brotli certificate decompression, which limits decompressed output size but accepts an input-selected large history window. Malicious peers can send a certificate with a five-byte Brotli header requesting up to 1 GiB before authentication, aborting Brotli-enabled clients or client-authenticating servers whose allocator cannot satisfy the request.
- Record
GHSA-gg47-62fq-vrhp- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/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 - CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-770
- Updated
- 2026-11-08
GitHub AdvisoriesGHSA-h2v8-394m-p7vv 3.7
Rustls: Brotli certificate decompression can allocate an attacker-controlled amount of memory up to 1 GiB before authentication.
Summary
The built-in (but disabled by default) Brotli certificate decoder bounds the output buffer but accepts an input-selected history window. A header of five bytes can specify a 1 GiB window allocation. A peer can abort a process whose allocator cannot satisfy that request. A client must enable Brotli and connect to the peer; a server must enable Brotli and request a client certificate. Neither direction requires a trusted attacker certificate.
Details
rustls calls BrotliDecompress which enables Brotli's large-window extension. rustls applies a limit to certificates, but this applies to the decompressed result, and not to any internal allocations the process requires.
Impact
Client applications that enable the brotli feature will be vulnerable to malicious servers. Server applications that enable the brotli feature and enable client authentication will be vulnerable to malicious clients.
Potential for denial of service due to memory exhaustion from peers sending malicious Brotli-encoded certificates, for applications that enable Brotli decompression.
Acknowledgement
Thanks to OpenAI OutboundDisclosures@openai.com for the disclosure.
- Record
GHSA-h2v8-394m-p7vv- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-770
- Updated
- 2026-11-02
NVD 6.3
rustls before 0.23.46 contains an uncontrolled memory allocation flaw in its optional Brotli certificate decompression, which limits decompressed output size but accepts an input-selected large history window. Malicious peers can send a certificate with a five-byte Brotli header requesting up to 1 GiB before authentication, aborting Brotli-enabled clients or client-authenticating servers whose allocator cannot satisfy the request.
- Record
CVE-2026-123610- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/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 - CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-770
- Updated
- 2026-11-09
OSV 6.3
rustls before 0.23.46 Denial of Service via Brotli Certificate Decompression
rustls before 0.23.46 contains an uncontrolled memory allocation flaw in its optional Brotli certificate decompression, which limits decompressed output size but accepts an input-selected large history window. Malicious peers can send a certificate with a five-byte Brotli header requesting up to 1 GiB before authentication, aborting Brotli-enabled clients or client-authenticating servers whose allocator cannot satisfy the request.
- Record
CVE-2026-123610- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - Weakness
- CWE-770
- Updated
- 2026-11-08
Show 9 moreShow less
OSVDEBIAN-CVE-2026-123610 6.3
rustls before 0.23.46 contains an uncontrolled memory allocation flaw in its optional Brotli certificate decompression, which limits decompressed output size but accepts an input-selected large history window. Malicious peers can send a certificate with a five-byte Brotli header requesting up to 1 GiB before authentication, aborting Brotli-enabled clients or client-authenticating servers whose allocator cannot satisfy the request.
- Record
DEBIAN-CVE-2026-123610- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/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-10
OSVGHSA-h2v8-394m-p7vv 3.7
Rustls: Brotli certificate decompression can allocate an attacker-controlled amount of memory up to 1 GiB before authentication.
Summary
The built-in (but disabled by default) Brotli certificate decoder bounds the output buffer but accepts an input-selected history window. A header of five bytes can specify a 1 GiB window allocation. A peer can abort a process whose allocator cannot satisfy that request. A client must enable Brotli and connect to the peer; a server must enable Brotli and request a client certificate. Neither direction requires a trusted attacker certificate.
Details
rustls calls BrotliDecompress which enables Brotli's large-window extension. rustls applies a limit to certificates, but this applies to the decompressed result, and not to any internal allocations the process requires.
Impact
Client applications that enable the brotli feature will be vulnerable to malicious servers. Server applications that enable the brotli feature and enable client authentication will be vulnerable to malicious clients.
Potential for denial of service due to memory exhaustion from peers sending malicious Brotli-encoded certificates, for applications that enable Brotli decompression.
Acknowledgement
Thanks to OpenAI OutboundDisclosures@openai.com for the disclosure.
- Record
GHSA-h2v8-394m-p7vv- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L - Weakness
- CWE-770
- Updated
- 2026-11-08
OSVRUSTSEC-2026-0348 3.7
Brotli certificate decompression can allocate up to 1 GiB before authentication
The built-in Brotli certificate decompressor (enabled by the non-default
brotli crate feature) bounded the size of the decompressed output, but
accepted a peer-selected history window. Brotli's large-window extension was
enabled, so a five-byte header could cause an allocation of 1 GiB. A peer can
abort a process whose allocator cannot satisfy that request.
No trusted certificate is required by the attacker. Affected configurations are:
- clients that enable the
brotlifeature and connect to a malicious server, and - servers that enable the
brotlifeature and request client certificates.
Applications that do not enable the brotli feature are not affected.
- Record
RUSTSEC-2026-0348- CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-08
OSVUBUNTU-CVE-2026-123610 6.3
rustls before 0.23.46 contains an uncontrolled memory allocation flaw in its optional Brotli certificate decompression, which limits decompressed output size but accepts an input-selected large history window. Malicious peers can send a certificate with a five-byte Brotli header requesting up to 1 GiB before authentication, aborting Brotli-enabled clients or client-authenticating servers whose allocator cannot satisfy the request.
- Record
UBUNTU-CVE-2026-123610- CVSS 4.0
- 6.3 Medium
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N - CVSS 3.1
- 3.7 Low
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L - Updated
- 2026-11-10
OSVAZL-113164No score
CVE-2026-123610 affecting package kata-containers 4.1.0.kata1-2
rustls before 0.23.46 contains an uncontrolled memory allocation flaw in its optional Brotli certificate decompression, which limits decompressed output size but accepts an input-selected large history window. Malicious peers can send a certificate with a five-byte Brotli header requesting up to 1 GiB before authentication, aborting Brotli-enabled clients or client-authenticating servers whose allocator cannot satisfy the request.
- Record
AZL-113164- Updated
- 2026-11-11
OSVAZL-113176No score
CVE-2026-123610 affecting package kata-containers-cc 3.15.0.aks0-23
rustls before 0.23.46 contains an uncontrolled memory allocation flaw in its optional Brotli certificate decompression, which limits decompressed output size but accepts an input-selected large history window. Malicious peers can send a certificate with a five-byte Brotli header requesting up to 1 GiB before authentication, aborting Brotli-enabled clients or client-authenticating servers whose allocator cannot satisfy the request.
- Record
AZL-113176- Updated
- 2026-11-11
OSVAZL-113275No score
CVE-2026-123610 affecting package rust 1.75.0-31
rustls before 0.23.46 contains an uncontrolled memory allocation flaw in its optional Brotli certificate decompression, which limits decompressed output size but accepts an input-selected large history window. Malicious peers can send a certificate with a five-byte Brotli header requesting up to 1 GiB before authentication, aborting Brotli-enabled clients or client-authenticating servers whose allocator cannot satisfy the request.
- Record
AZL-113275- Updated
- 2026-11-11
OSVAZL-113278No score
CVE-2026-123610 affecting package rust 1.98.1-1
rustls before 0.23.46 contains an uncontrolled memory allocation flaw in its optional Brotli certificate decompression, which limits decompressed output size but accepts an input-selected large history window. Malicious peers can send a certificate with a five-byte Brotli header requesting up to 1 GiB before authentication, aborting Brotli-enabled clients or client-authenticating servers whose allocator cannot satisfy the request.
- Record
AZL-113278- Updated
- 2026-11-11
OSVAZL-113302No score
CVE-2026-123610 affecting package rust-afterburn 5.8.2-2
rustls before 0.23.46 contains an uncontrolled memory allocation flaw in its optional Brotli certificate decompression, which limits decompressed output size but accepts an input-selected large history window. Malicious peers can send a certificate with a five-byte Brotli header requesting up to 1 GiB before authentication, aborting Brotli-enabled clients or client-authenticating servers whose allocator cannot satisfy the request.
- Record
AZL-113302- Updated
- 2026-11-11
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
rustlscrates.io | before 0.23.46 | 0.23.46 |
rustlscrates.io | 0.24.0-dev.1 up to 0.24.0-dev.2 | 0.24.0-dev.2 |
kata-containersAzure Linux:3 | through 4.1.0.kata1-2 | None known |
kata-containers-ccAzure Linux:3 | through 3.15.0.aks0-23 | None known |
rustAzure Linux:3 | through 1.75.0-31 | None known |
rustAzure Linux:3 | 1.85.0 to 1.98.1-1 | None known |
rust-afterburnAzure Linux:3 | through 5.8.2-2 | None known |
rust-rustlsDebian:12 | All versions, plus listed versions 0.20.8-40.20.8-4.10.20.8-4.20.21.10-10.21.12-1 Show 45 moreShow less0.21.12-20.21.12-30.21.12-40.21.12-50.21.12-60.21.12-70.21.12-80.21.12-90.21.5-10.21.5-20.21.5-30.21.5-40.21.5-50.21.6-10.21.6-20.21.6-30.21.6-40.21.7-10.21.8-10.21.8-20.21.8-30.21.8-3.10.21.9-10.23.16-10.23.20+ds-10.23.20+ds-100.23.20+ds-20.23.20+ds-30.23.20+ds-40.23.20+ds-50.23.20+ds-60.23.20+ds-70.23.20+ds-80.23.20+ds-90.23.25+ds-10.23.26+ds-10.23.31+ds-10.23.31+ds-20.23.31+ds-30.23.31+ds-40.23.31+ds-50.23.31+ds-60.23.31+ds-70.23.32+ds-10.23.32+ds-2 | None known |
rust-rustlsDebian:13 | All versions, plus listed versions 0.23.26+ds-10.23.31+ds-10.23.31+ds-20.23.31+ds-30.23.31+ds-4 Show 20 moreShow less0.23.31+ds-50.23.31+ds-60.23.31+ds-70.23.32+ds-10.23.32+ds-20.23.33+ds-10.23.33+ds-20.23.33+ds-30.23.33+ds-40.23.35+ds-10.23.36+ds-10.23.37+ds-10.23.37+ds-20.23.37+ds-30.23.38+ds-10.23.40+ds-10.23.41+ds-10.23.43+ds-10.23.45+ds-10.23.46+ds-1 | None known |
rust-rustlsDebian:14 | All versions, plus listed versions 0.23.26+ds-10.23.31+ds-10.23.31+ds-20.23.31+ds-30.23.31+ds-4 Show 20 moreShow less0.23.31+ds-50.23.31+ds-60.23.31+ds-70.23.32+ds-10.23.32+ds-20.23.33+ds-10.23.33+ds-20.23.33+ds-30.23.33+ds-40.23.35+ds-10.23.36+ds-10.23.37+ds-10.23.37+ds-20.23.37+ds-30.23.38+ds-10.23.40+ds-10.23.41+ds-10.23.43+ds-10.23.45+ds-10.23.46+ds-1 | None known |
Show 4 moreShow less
| Package | Affected | Fixed |
|---|---|---|
rustlscrates.io | 0.23.9 up to 0.23.46 | 0.23.46 |
rust-rustlsUbuntu:24.04:LTS | All versions, plus listed versions 0.21.6-30.21.7-10.21.9-10.21.10-1 | None known |
rust-rustlsUbuntu:26.10 | All versions, plus listed versions 0.23.36+ds-10.23.41+ds-1 | None known |
rust-rustlsUbuntu:26.04:LTS | All versions, plus listed versions 0.23.26+ds-10.23.33+ds-3build20.23.35+ds-10.23.35+ds-1build10.23.36+ds-1 | None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, aliases, references | OSV | |
| affected, aliases, references | NVD, OSV | |
| affected, aliases, facts, published, references | OSV | |
| affected, aliases, references | NVD, OSV | |
| published | EUVD | |
| published | EUVD | |
| aliases, references | GitHub Advisories | |
| aliases, products, published | EUVD | |
| first indexed | CVE List | |
| first indexed | GitHub Advisories, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-123610 is a medium vulnerability (CVSS 6.3) in Rustls, published October 14, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.17%, the 5th percentile. Fixed in rustls 0.23.46.
References
github.com/rustls/rustls/security/advisories/GHSA-h2v8-394m-p7vv
vulncheck.com/advisories/rustls-before-0.23.46-denial-of-service-via-brotli-certificate-decompression
nvd.nist.gov/vuln/detail/CVE-2026-123610
github.com/advisories/GHSA-gg47-62fq-vrhp
github.com/rustls/rustls/pull/3297
github.com/rustls/rustls/pull/3354
Show 11 moreShow less
github.com/rustls/rustls/commit/1aa987af37d0d79b98781d345895ac0059ce345c
github.com/rustls/rustls/commit/402b7b78b7ae87d59e19cf07ee07f3fc19e6537e
github.com/rustls/rustls/releases/tag/v/0.23.46
rustsec.org/advisories/RUSTSEC-2026-0348.html
github.com/advisories/GHSA-h2v8-394m-p7vv
github.com/CVEProject/cvelistV5/tree/main/cves/2026/123xxx/CVE-2026-123610.json
security-tracker.debian.org/tracker/CVE-2026-123610
github.com/rustls/rustls
crates.io/crates/rustls
ubuntu.com/security/CVE-2026-123610
cve.org/CVERecord?id=CVE-2026-123610
Left out here: 15 versions. The JSON record has them.