Apache Software Foundation Apache Thrift
89 published vulnerabilities name this product.
As the CNAs write it in their CVE records (vendor and product); the versions are theirs.
| CVE | Vulnerable versions | Title | Severity | Published | EPSS | Exploitation |
|---|---|---|---|---|---|---|
| CVE-2026-66054 | < 0.25.0 | Apache Thrift: C++ THeaderTransport does not enforce configured maxFrameSize | MEDIUM 6.9 | 0.3 % | ||
| CVE-2026-61374 | < 0.25.0 | Apache Thrift: Java TSaslTransport post-auth data-frame missing size limit | HIGH 7.1 | 0.2 % | ||
| CVE-2026-63772 | < 0.25.0 | Apache Thrift: Unauthenticated single-packet crash of Go Thrift servers via the THeader transform count | HIGH 8.7 | 0.3 % | ||
| CVE-2026-66055 | < 0.25.0 | Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift: TJSONProtocol accepts a single JSON string/numb… | HIGH 8.2 | 0.3 % | ||
| CVE-2026-66081 | < 0.25.0 | Apache Thrift: c_glib read_message_begin leaves output parameters unset for non-versioned messages | HIGH 8.7 | 0.3 % | ||
| CVE-2026-66331 | < 0.25.0 | Apache Thrift: Buffered transport reads are not accounted against MaxMessageSize | MEDIUM 6.9 | 0.3 % | ||
| CVE-2026-66837 | < 0.25.0 | Apache Thrift: PHP accelerator sizes a stack buffer from a wire-controlled string length | HIGH 8.7 | 0.3 % | ||
| CVE-2026-66858 | < 0.25.0 | Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift: skip() does not apply the recursion limit (Pyth… | HIGH 8.7 | 0.3 % | ||
| CVE-2026-66859 | < 0.25.0 | Apache Thrift: c_glib multiplexed processor crashes on a message it cannot route | HIGH 8.7 | 0.3 % | ||
| CVE-2026-83632 | < 0.25.0 | Apache Thrift: C++ THttpTransport grows its line buffer without bound | CRITICAL 9.2 | 0.3 % | ||
| CVE-2026-83663 | < 0.25.0 | Apache Thrift: TFramedTransport and THeaderTransport re-enter Read once per frame that carries no payload (Go) | HIGH 8.7 | 0.3 % | ||
| CVE-2026-83745 | < 0.25.0 | Apache Thrift, Apache Thrift: WebSocket frame decoders allocate the payload buffer from the declared length, not the bytes received (Node… | HIGH 8.7 | 0.3 % | ||
| CVE-2026-85476 | < 0.25.0 | Apache Thrift: c_glib `read_all` spins when the underlying read returns 0 | HIGH 8.2 | 0.3 % | ||
| CVE-2026-96289 | < 0.25.0 | Apache Thrift: php `--gen php:inlined` struct readers (and `TProtocol::skipBinary`) have no recursion-depth guard | HIGH 8.2 | 0.3 % | ||
| CVE-2026-96287 | < 0.25.0 | Apache Thrift: Perl `FramedTransport` reads and TLS socket writes re-slice the remaining buffer on every call (quadratic) | HIGH 8.2 | 0.3 % | ||
| CVE-2026-96286 | < 0.25.0 | Apache Thrift: Perl servers end `serve()` when serving one connection fails | HIGH 8.2 | 0.3 % | ||
| CVE-2026-96277 | < 0.25.0 | Apache Thrift: Ruby `SimpleServer` ends `serve()` on any non-Transport/Protocol exception | HIGH 8.7 | 0.3 % | ||
| CVE-2026-94658 | < 0.25.0 | Apache Thrift: Lua `TFramedTransport`/`THttpTransport` re-slice the buffer on every read (quadratic) | HIGH 8.7 | 0.3 % | ||
| CVE-2026-94657 | < 0.25.0 | Apache Thrift: javame `TJsonProtocol`/`TJSONProtocol` has no string size bound | HIGH 8.2 | 0.3 % | ||
| CVE-2026-94656 | < 0.25.0 | Apache Thrift: rb `TJsonProtocol`/`TJSONProtocol` has no string size bound | HIGH 8.2 | 0.3 % | ||
| CVE-2026-94655 | < 0.25.0 | Apache Thrift: Lua `TJsonProtocol` string/number readers have no size bound and are quadratic | HIGH 8.2 | 0.3 % | ||
| CVE-2026-94654 | < 0.25.0 | Apache Thrift: Python `TNonblockingServer` busy-loops and stops selecting all fds after an 8192-byte-boundary frame | HIGH 8.2 | 0.3 % | ||
| CVE-2026-94653 | < 0.25.0 | Apache Thrift: PHP framed/memory/HTTP transports re-slice the buffer on every read (quadratic) | HIGH 8.2 | 0.3 % | ||
| CVE-2026-94652 | < 0.25.0 | Apache Thrift: C++ `TEvhttpServer` leaks its `RequestContext` when the processor throws before calling back | MEDIUM 6.3 | 0.3 % | ||
| CVE-2026-94648 | < 0.25.0 | Apache Thrift: dart `TJsonProtocol`/`TJSONProtocol` has no string size bound | HIGH 8.2 | 0.3 % | ||
| CVE-2026-94646 | < 0.25.0 | Apache Thrift: Node.js `server.js` ends the process on any per-connection error (+ two triggers) | HIGH 8.7 | 0.3 % | ||
| CVE-2026-94638 | < 0.25.0 | Apache Thrift: PHP `thrift_protocol` C extension ignores the configured `maxStringSize` | MEDIUM 6.3 | 0.3 % | ||
| CVE-2026-94637 | < 0.25.0 | Apache Thrift: Go `THeaderTransport` does not bound the inflated size of a ZLIB frame | HIGH 8.2 | 0.3 % | ||
| CVE-2026-94636 | < 0.25.0 | Apache Thrift: Python `TZlibTransport` stops enforcing its decompressed-size limit once the limit is exactly used up | HIGH 8.2 | 0.3 % | ||
| CVE-2026-92834 | < 0.25.0 | Apache Thrift: C++ WebSocket server transport does not read a full request length | MEDIUM 6.3 | 0.3 % | ||
| CVE-2026-90440 | < 0.25.0 | Apache Thrift: An exception escaping a libevent callback stops the D library's non-blocking server, allowing an unauthenticated remote at… | HIGH 8.2 | 0.3 % | ||
| CVE-2026-87117 | < 0.25.0 | Apache Thrift: PHP `thrift_protocol` accelerator dereferences a missing container-element spec | HIGH 8.7 | 0.3 % | ||
| CVE-2026-86537 | < 0.25.0 | Apache Thrift: A truncated HTTP request stops the D library's server, allowing an unauthenticated remote attacker to deny service | HIGH 8.7 | 0.4 % | ||
| CVE-2026-86536 | < 0.25.0 | Apache Thrift, Apache Thrift, Apache Thrift: A map key from the wire can replace a decoded object's prototype in generated JavaScript | MEDIUM 6.3 | 0.3 % | ||
| CVE-2026-86535 | < 0.25.0 | Apache Thrift: A JSON member name can stall the Node server's event loop indefinitely | HIGH 8.7 | 0.4 % | ||
| CVE-2026-85088 | < 0.25.0 | Apache Thrift, Apache Thrift: The C++ and D clients fall back to the certificate Common Name when subjectAltName entries are present but … | MEDIUM 6.9 | 0.2 % | ||
| CVE-2026-85087 | < 0.25.0 | Apache Thrift: Python ≥3.12 host-name check silently becomes a no-op | MEDIUM 6.9 | 0.2 % | ||
| CVE-2026-85086 | < 0.25.0 | Apache Thrift: Perl TLS client disables certificate verification by default | MEDIUM 6.9 | 0.2 % | ||
| CVE-2026-82459 | < 0.25.0 | Apache Thrift: Integer underflow in C++ THeaderTransport allows an unauthenticated remote peer to terminate a 32-bit process | HIGH 8.2 | 0.3 % | ||
| CVE-2026-82458 | < 0.25.0 | Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Ap… | HIGH 8.7 | 0.3 % | ||
| CVE-2026-96288 | < 0.25.0 | Apache Thrift: Erlang generated struct reads have no recursion-depth guard (unbounded memory) | HIGH 8.2 | 0.3 % | ||
| CVE-2026-96292 | < 0.25.0 | Apache Thrift: Lua `THttpTransport:_parseHeaders` matches each header line with a backtracking pattern (quadratic) | HIGH 8.2 | 0.3 % | ||
| CVE-2026-96294 | < 0.25.0 | Apache Thrift: nodejs web server: no `error` listener on an upgraded WebSocket connection | HIGH 8.7 | 0.3 % | ||
| CVE-2026-61373 | < 0.25.0 | Apache Thrift: Java TSaslNonblockingServer pre-auth unbounded SASL frame allocation | HIGH 8.7 | 0.4 % | ||
| CVE-2026-96990 | < 0.25.0 | Apache Thrift: Erlang thrift_json_protocol reads a whole message with no size bound | HIGH 8.2 | 0.4 % | ||
| CVE-2026-94642 | < 0.25.0 | Apache Thrift: PHP `TSimpleServer` exits the whole process on any non-transport exception | HIGH 8.7 | 0.4 % | ||
| CVE-2026-94644 | < 0.25.0 | Apache Thrift: PHP `TJSONProtocol` string/number readers have no size bound | HIGH 8.2 | 0.3 % | ||
| CVE-2026-94645 | < 0.25.0 | Apache Thrift: Node.js `TJSONProtocol` uses a peer-declared container size as an unbounded loop bound | HIGH 8.2 | 0.3 % | ||
| CVE-2026-94650 | < 0.25.0 | Apache Thrift: c_glib generated struct readers have no recursion-depth guard (native stack exhaustion) | HIGH 8.2 | 0.3 % | ||
| CVE-2026-94651 | < 0.25.0 | Apache Thrift: Java `TSaslNonblockingServer` `Computation.run` orphans a connection on a pre-auth parse error | HIGH 8.2 | 0.3 % | ||
| CVE-2026-85483 | < 0.25.0 | Apache Thrift: c_glib TZlibTransport reports a full read after a premature stream end | MEDIUM 6.3 | 0.3 % | ||
| CVE-2026-85493 | < 0.25.0 | Apache Thrift, Apache Thrift: TProtocolUtil.skip follows peer-chosen nesting to any depth the stack allows (Dart, Java ME) | HIGH 8.7 | 0.3 % | ||
| CVE-2026-85494 | < 0.25.0 | Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift: Fr… | HIGH 8.7 | 0.3 % | ||
| CVE-2026-91135 | < 0.25.0 | Apache Thrift: C++ `THeaderTransport::transform()` heap buffer overflow (write direction) | CRITICAL 9.2 | 0.3 % | ||
| CVE-2026-91137 | < 0.25.0 | Apache Thrift: PHP `thrift_protocol` accelerator: zero-byte container elements | HIGH 8.7 | 0.3 % | ||
| CVE-2026-93925 | < 0.25.0 | Apache Thrift: C++ `THeaderTransport::writeVarint32()` stack buffer overflow on a negative protocol id | HIGH 8.7 | 0.3 % | ||
| CVE-2026-93926 | < 0.25.0 | Apache Thrift: C++ `THeaderTransport::untransform()` leaks the zlib stream on the error path | HIGH 8.7 | 0.3 % | ||
| CVE-2026-94633 | < 0.25.0 | Apache Thrift: Dart `TBinaryProtocol.readMessageBegin` allocates from the pre-versioned name length | HIGH 8.7 | 0.3 % | ||
| CVE-2026-94634 | < 0.25.0 | Apache Thrift: Python `TJSONProtocol` has a string length limit that is off by default | HIGH 8.2 | 0.3 % | ||
| CVE-2026-94639 | < 0.25.0 | Apache Thrift: Java `TSaslNonblockingServer`: residual of CVE-2026-61373 (thread-death black hole + no cross-connection budget) | HIGH 8.2 | 0.3 % | ||
| CVE-2026-94635 | < 0.25.0 | Apache Thrift: Lua `TBinaryProtocol:readMessageBegin` bypasses `checkStringSize` on the pre-versioned name | HIGH 8.7 | 0.3 % | ||
| CVE-2026-66053 | < 0.24.0 | Apache Thrift: Python TSSLSocket Hostname Matcher Import | MEDIUM 5.9 | 0.3 % | ||
| CVE-2026-58662 | < 0.24.0 | Apache Thrift: C++ THeaderTransport::readString() info-header length bounds bypass | HIGH 8.7 | 1.1 % | ||
| CVE-2026-58389 | < 0.24.0 | Apache Thrift: Rust binary protocol non-strict path missing string size limit | HIGH 8.7 | 1.0 % | ||
| CVE-2026-58023 | < 0.24.0 | Apache Thrift: c_glib heap out-of-bounds read in transport leftover-bytes path | MEDIUM 6.9 | 1.0 % | ||
| CVE-2026-55971 | < 0.24.0 | Apache Thrift: C++ ZLIB heap buffer overflow (write) in THeaderTransport::untransform() | CRITICAL 9.3 | 1.0 % | ||
| CVE-2026-55970 | < 0.24.0 | Apache Thrift: C++ heap out-of-bounds read in THeaderTransport::readHeaderFormat() | MEDIUM 6.9 | 0.8 % | ||
| CVE-2026-55969 | < 0.24.0 | Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift: integer overflow in TProtocol::checkReadBytesAv… | HIGH 8.7 | 1.0 % | ||
| CVE-2026-55968 | < 0.24.0 | Apache Thrift: Node.js quadratic-time DoS in server receive transports | HIGH 8.7 | 1.0 % | ||
| CVE-2026-49158 | < 0.24.0 | Apache Thrift: Ruby THeaderTransport ZLIB Decompression Bomb | HIGH 7.5 | 1.0 % | ||
| CVE-2026-48586 | < 0.24.0 | Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift: TZlibTransport Decompression Size Limit | HIGH 8.7 | 1.0 % | ||
| CVE-2026-48145 | < 0.24.0 | Apache Thrift: C++ TSSLSocket matchName() RFC 6125 Wildcard Bypass | HIGH 8.2 | 0.4 % | ||
| CVE-2026-48144 | < 0.24.0 | Apache Thrift: c_glib TLS Client Missing Hostname Verification | CRITICAL 9.1 | 0.4 % | ||
| CVE-2026-45112 | 0.19.0 – < 0.24.0 | Apache Thrift: Unbounded Read Leading to Denial of Service | MEDIUM 6.9 | 1.0 % | ||
| CVE-2026-43871 | < 0.24.0 | Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift: TCompactProtocol varint byte-count limit | HIGH 8.7 | 1.0 % | ||
| CVE-2026-41608 | < 0.24.0 | Apache Thrift: Unbounded Zlib Decompression in Python THeaderTransport | HIGH 7.5 | 1.0 % | ||
| CVE-2026-43868 | < 0.23.0 | Apache Thrift: Rust implementation vulnerable to CVE-2020-13949 pattern | HIGH 7.5 | 0.7 % | ||
| CVE-2026-43870 | < 0.23.0 | Apache Thrift: Node.js web_server.js multi-vulnerability | HIGH 7.3 | 0.4 % | ||
| CVE-2026-43869 | < 0.23.0 | Apache Thrift: TSSLTransportFactory.java hostname verification | HIGH 7.3 | 0.6 % | ||
| CVE-2026-41636 | < 0.23.0 | Apache Thrift: Node.js skip() recursion | HIGH 8.7 | 0.5 % | ||
| CVE-2026-41607 | < 0.23.0 | Apache Thrift: C++ JSON OOB read | CRITICAL 9.1 | 0.9 % | ||
| CVE-2026-41606 | < 0.23.0 | Apache Thrift: c_glib dispatch stack overflow | HIGH 7.5 | 1.1 % | ||
| CVE-2026-41605 | < 0.23.0 | Apache Thrift: Swift Compact Protocol integer overflow | HIGH 7.7 | 0.9 % | ||
| CVE-2026-41604 | < 0.23.0 | Apache Thrift: Swift Range crash in skip() | HIGH 8.2 | 0.9 % | ||
| CVE-2026-41602 | < 0.23.0 | Apache Thrift: Go TFramedTransport uint32 overflow | HIGH 7.5 | 1.2 % | ||
| CVE-2025-48431 | < 0.23.0 | Apache Thrift: Specially crafted input can crash a c_glib Thrift server with invalid pointer error. | HIGH 7.5 | 1.0 % | ||
| CVE-2018-1320 | Apache Thrift 0.5.0 to 0.11.0 | Apache Thrift Java client library versions 0.5.0 through 0.11.0 can bypass SASL negotiation isComplete validation in the org.apache.thrift.t | HIGH 7.5 | 8.2 % | ||
| CVE-2018-11798 | Apache Thrift 0.9.2 to 0.11.0 | The Apache Thrift Node.js static web server in versions 0.9.2 through 0.11.0 have been determined to contain a security vulnerability in whi | MEDIUM 6.5 | 4.7 % | ||
| CVE-2016-5397 | versions prior to 0.10.0 | The Apache Thrift Go client library exposed the potential during code generation for command injection due to using an external formatting t | HIGH 8.8 | 6.9 % |