Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thrift version update and unification #2320

Open
andrey-dubnik opened this issue Dec 22, 2021 · 5 comments
Open

Thrift version update and unification #2320

andrey-dubnik opened this issue Dec 22, 2021 · 5 comments
Labels
enhancement New feature or request

Comments

@andrey-dubnik
Copy link

Is your feature request related to a problem? Please describe.

Hi

I have a question which came out from the security scan we did recently. Is there a reason on why thrift (github.com/apache/[email protected]) is pinned? It does look like this one is from version 0.10. There is another one used by the ringpop-go (actually 2) one from 0.9.3 and another one from the no longer maintained repo. Latest thrift is 0.15 and beyond 0.13 have some active CVEs. Could you please consider reviewing the thrift versions in those 2 packages?

Here is some dependency graph

go.temporal.io/server github.com/apache/[email protected]
go.temporal.io/server github.com/temporalio/[email protected]
github.com/temporalio/[email protected] github.com/apache/[email protected]
github.com/temporalio/[email protected] github.com/samuel/[email protected]

Describe the solution you'd like

Minimum thrift library version of 0.13, better 0.15

Describe alternatives you've considered

None available

@andrey-dubnik andrey-dubnik added the enhancement New feature or request label Dec 22, 2021
@tminusplus
Copy link
Contributor

tminusplus commented Dec 23, 2021

For context there has been some effort put into this outside of the Temporal team. Happy to continue pushing along my patches if they are still interested. The update is not trivial and includes breaking changes.

Happy to change my patches to support whatever version the Temporal team would like to use. Likely, v0.13.0 is the most compatible with other Go dependencies, which is useful for mono-repos. But, updating to v0.14.0+ fixes a potential DOS CVE-2020-13949. This CVE does not seem too dangerous but will leave judgement calls up to the team.

I will also be testing these patches on a three-node cluster in the next week or so.

@yiminc
Copy link
Member

yiminc commented Jan 7, 2022

cc @mcbryde

@tminusplus
Copy link
Contributor

tminusplus commented Jan 18, 2022

I added a branch to update to v0.15.0, the latest. I will open the PR for review once I have tested the ringpop-go changes, and then tested Temporal in a production environment with it.

temporalio/tchannel-go#2

@tminusplus
Copy link
Contributor

PR is opened temporalio/tchannel-go#2

@tminusplus
Copy link
Contributor

This should be done now with #3250

@sync-by-unito sync-by-unito bot closed this as completed Mar 3, 2023
@yiminc yiminc reopened this Mar 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants