{"id":"CVE-2026-66858","state":"PUBLISHED","title":"Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift: skip() does not apply the recursion limit (Python accelerator, PHP, Perl, Lua, Smalltalk, OCaml)","description":"The protocol skip routine in several Apache Thrift bindings did not apply the binding's recursion limit, so a message that nests unknown fields deeply enough can exhaust the stack. Affected: the Python C++ accelerator (the pure-Python protocols are not affected), the PHP library and its thrift_protocol extension, and the Perl, Lua, Smalltalk and OCaml libraries.\n\n\n\nThis issue affects Apache Thrift: before 0.25.0.\n\n\n\nUsers are recommended to upgrade to version 0.25.0, which fixes the issue.","publishedAt":"2026-10-02T12:27:31.412Z","updatedAt":"2026-10-02T16:54:25.933Z","severity":{"score":8.7,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","source":"apache"},"assigner":"apache","products":["Apache Software Foundation Apache Thrift"],"affected":[{"vendor":"Apache Software Foundation","product":"Apache Thrift","packageName":"thrift","packageURL":"pkg:pypi/thrift","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.25.0","versionType":"semver"}],"collectionURL":"https://pypi.python.org"},{"vendor":"Apache Software Foundation","product":"Apache Thrift","packageName":"apache/thrift","packageURL":"pkg:composer/apache/thrift","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.25.0","versionType":"semver"}],"collectionURL":"https://packagist.org"},{"vendor":"Apache Software Foundation","product":"Apache Thrift","packageName":"Thrift","packageURL":"pkg:cpan/Thrift","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.25.0","versionType":"semver"}],"collectionURL":"https://cpan.org/modules"},{"vendor":"Apache Software Foundation","product":"Apache Thrift","packageName":"Lua","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.25.0","versionType":"semver"}]},{"vendor":"Apache Software Foundation","product":"Apache Thrift","packageName":"Smalltalk","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.25.0","versionType":"semver"}]},{"vendor":"Apache Software Foundation","product":"Apache Thrift","packageName":"OCaml","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.25.0","versionType":"semver"}]}],"references":["https://lists.apache.org/thread/33otcgbqd27wf6qq810q56znzbomnhg1","https://lists.apache.org/thread/6kl6g40tpl8zt3opd8fwn6bsgyddzhd5"],"weaknesses":["CWE-674"],"ingestedAt":"2026-10-29T20:12:41.951Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/66xxx/CVE-2026-66858.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-66858","state":"PUBLISHED","datePublished":"2026-10-02T12:27:31.412Z","dateUpdated":"2026-10-02T16:54:25.933Z","assignerShortName":"apache","assignerOrgId":"f0158376-9dc2-43b6-827c-5f631a4d8d09","dateReserved":"2026-07-27T22:27:11.611Z"},"containers":{"cna":{"title":"Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift, Apache Thrift: skip() does not apply the recursion limit (Python accelerator, PHP, Perl, Lua, Smalltalk, OCaml)","descriptions":[{"lang":"en","value":"The protocol skip routine in several Apache Thrift bindings did not apply the binding's recursion limit, so a message that nests unknown fields deeply enough can exhaust the stack. Affected: the Python C++ accelerator (the pure-Python protocols are not affected), the PHP library and its thrift_protocol extension, and the Perl, Lua, Smalltalk and OCaml libraries.\n\n\n\nThis issue affects Apache Thrift: before 0.25.0.\n\n\n\nUsers are recommended to upgrade to version 0.25.0, which fixes the issue."}],"affected":[{"vendor":"Apache Software Foundation","product":"Apache Thrift","packageName":"thrift","packageURL":"pkg:pypi/thrift","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.25.0","versionType":"semver"}],"collectionURL":"https://pypi.python.org"},{"vendor":"Apache Software Foundation","product":"Apache Thrift","packageName":"apache/thrift","packageURL":"pkg:composer/apache/thrift","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.25.0","versionType":"semver"}],"collectionURL":"https://packagist.org"},{"vendor":"Apache Software Foundation","product":"Apache Thrift","packageName":"Thrift","packageURL":"pkg:cpan/Thrift","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.25.0","versionType":"semver"}],"collectionURL":"https://cpan.org/modules"},{"vendor":"Apache Software Foundation","product":"Apache Thrift","packageName":"Lua","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.25.0","versionType":"semver"}]},{"vendor":"Apache Software Foundation","product":"Apache Thrift","packageName":"Smalltalk","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.25.0","versionType":"semver"}]},{"vendor":"Apache Software Foundation","product":"Apache Thrift","packageName":"OCaml","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"0.25.0","versionType":"semver"}]}],"references":[{"url":"https://lists.apache.org/thread/33otcgbqd27wf6qq810q56znzbomnhg1","tags":["vendor-advisory"]},{"url":"https://lists.apache.org/thread/6kl6g40tpl8zt3opd8fwn6bsgyddzhd5","tags":["vendor-advisory"]}],"metrics":[{"other":{"type":"Textual description of severity","content":{"text":"important"}},"scenarios":[{"lang":"en","value":"GENERAL"}]},{"scenarios":[{"lang":"en","value":"GENERAL"}],"format":"CVSS","cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","subConfidentialityImpact":"NONE","vulnIntegrityImpact":"NONE","subIntegrityImpact":"NONE","vulnAvailabilityImpact":"HIGH","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED","version":"4.0","baseSeverity":"HIGH","baseScore":8.7,"vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-674","description":"CWE-674 Uncontrolled Recursion","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"apache","orgId":"f0158376-9dc2-43b6-827c-5f631a4d8d09","dateUpdated":"2026-10-02T12:27:31.412Z"},"source":{"discovery":"EXTERNAL"},"credits":[{"lang":"en","value":"Claude (Anthropic Research)","type":"finder"},{"lang":"en","value":"Arthur Chan, Ada Logics","type":"analyst"},{"lang":"en","value":"Apache Thrift Developers","type":"finder"}],"x_generator":{"engine":"Vulnogram 0.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-02T16:53:58.894753Z","id":"CVE-2026-66858","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-02T16:54:25.933Z"}}]}}}