[fix][sec][branch-4.x] Upgrade Thrift to 0.24.0 - #26438
Merged
Merged
Conversation
lhotari
requested review from
Technoboy-,
dao-jun,
david-streamlio,
merlimat and
nodece
August 31, 2026 08:58
Technoboy-
approved these changes
Aug 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #26297
Motivation
Apache Thrift is reported to be affected by multiple CVEs in the 4.x release lines:
libthriftreaches Pulsar as a transitive dependency ofdistributedlog-core(used bypulsar-package-management/bookkeeper-storageandpulsar-functions/worker), so the shaded server distribution ships the jar and dependency scanners flag it.Apache Thrift 0.24.0 is the latest release and addresses these reports, so upgrading is the straightforward mitigation.
Modifications
thrift.versionfrom0.23.0to0.24.0in the rootpom.xml.libthriftjar entry indistribution/server/src/assemble/LICENSE.bin.txtaccordingly.libthrift 0.23.0 and latersince the exclusion rationale applies to 0.24.0 as well.The existing exclusions for the jakarta.* / HttpComponents 5 HTTP and servlet transports are unchanged and remain effective: the
libthriftPOM is byte-for-byte identical between 0.23.0 and 0.24.0 apart from the<version>element, so the dependency tree shape is the same. Verified with:libthriftresolves as a leaf, confirming none of the excluded transitives leak back in.Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Pulsar does not compile against Thrift APIs directly; only
distributedlog-core's TJSON/TMemory serialization uses it. The binary license check in the distribution build validates the updatedLICENSE.bin.txtentry.Does this pull request potentially affect one of the following parts:
If the box was checked, please highlight the changes