CVE-2026-85088 json
Apache Thrift, Apache Thrift: The C++ and D clients fall back to the certificate Common Name when subjectAltName entries are present but do not match
published last mo. modified last mo. also BIT-thrift-2026-85088 , EUVD-2026-91418
- cvss
- 6.9
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 6%
- public exploits
- 0
- none known
Summary
Improper Validation of Certificate with Host Mismatch in the C++ and D libraries of Apache Thrift.
Both libraries install a default access manager for client sockets — TSSLSocketFactory does so in C++, and the accessManager property does so in D — which compares the peer certificate against the host
name that was connected to. That comparison walks the subjectAltName dNSName entries first and consults the certificate Common Name afterwards. A name that does not match yields a "skip" result rather than
a rejection, so a certificate whose subjectAltName entries are all present and all non-matching falls through to the Common Name, which can then satisfy the check.
RFC 6125 section 6.4.4, and RFC 9525 section 2, require that the Common Name is not consulted when a dNSName subjectAltName is present. A certificate carrying subjectAltName entries for one name and a
Common Name for another is therefore accepted for a connection to the second name.
Exploitation requires an attacker positioned on the network path who holds a certificate that chains to a certificate authority in the client's trust store and whose Common Name matches the connected host
name. Public certificate authorities have not issued on Common Name alone for many years, so this is principally a concern for deployments using a private or enterprise public-key infrastructure.
This issue affects the C++ library of Apache Thrift from 0.7.0 through 0.24.0 and the D library from 0.9.0 through 0.24.0. Users should upgrade to 0.25.0.
Patch / fix
- bitnami thrift 0.25.0
- Apache Software Foundation Apache Thrift 0.25.0
- thrift hummingbird 1 0.25.0-0.1.hum1
- thrift-qt hummingbird 1 0.25.0-0.1.hum1
- perl-thrift hummingbird 1 0.25.0-0.1.hum1
- thrift-glib hummingbird 1 0.25.0-0.1.hum1
- python3-thrift hummingbird 1 0.25.0-0.1.hum1
red hat advisories RHSA-2026:74369
- thrift Azure Linux 3.0 0.25.0-1
azure linux advisories AZL-106548
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
Is CVE-2026-85088 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-85088 updated cvss 7.4
thrift: thrift: Man-in-the-middle attacks via improper certificate validation
-
Red Hat Ceph Storage 7 thrift Red Hat Ceph Storage 8 thrift, thrift-qt, perl-thrift, thrift-glib, python3-thrift Red Hat Ceph Storage 9 thriftaffected: workaround, no fix available “Fix deferred”
-
Red Hat Enterprise Linux AI (RHEL AI) 3 thriftaffected: workaround, no fix available
-
Red Hat Hardened Images thrift 0.25.0-0.1.hum1, thrift-qt 0.25.0-0.1.hum1, perl-thrift 0.25.0-0.1.hum1, thrift-glib 0.25.0-0.1.hum1, python3-thrift 0.25.0-0.1.hum1fixed: vendor fix RHSA-2026:74369
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- last mo.
Exploit prediction
0.17% chance of exploitation in the next 30 days, higher than 6% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.9 | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:U |
| CNA | 4.0 | 6.9 | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:U/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 |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | thrift | <0.25.0 |
0.25.0 |
Affected products
- Apache Software Foundation Apache Thrift
Classification
References
-
lists.apache.org
/thread/33otcgbqd27wf6qq810q56znzbomnhg1
vendor-advisory, web
-
lists.apache.org
/thread/zcgm7lx6037lvgvn87rc1tj3p0zhv371
vendor-advisory, web
-
nvd.nist.gov
/vuln/detail/CVE-2026-85088
web
Sources
- CVE List CVE-2026-85088
- NVD CVE-2026-85088
- OSV BIT-thrift-2026-85088
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.