temporalio / temporalio/temporal

Thrift version update and unification

Open
#2,320 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
23.2k
Forks
1.9k
Avg merge
2d 8h
Merged PRs (30d)
228

Description

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/thrift@v0.0.0-20161221203622-b2a4d4ae21c7) 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/thrift@v0.0.0-20161221203622-b2a4d4ae21c7
go.temporal.io/server github.com/temporalio/ringpop-go@v0.0.0-20211012191444-6f91b5915e95
github.com/temporalio/ringpop-go@v0.0.0-20211012191444-6f91b5915e95 github.com/apache/thrift@v0.0.0-20150905105024-5bc8b5a3a5da
github.com/temporalio/ringpop-go@v0.0.0-20211012191444-6f91b5915e95 github.com/samuel/go-thrift@v0.0.0-20191111193933-5165175b40af

Describe the solution you'd like

Minimum thrift library version of 0.13, better 0.15

Describe alternatives you've considered

None available

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the dependency graph in the issue, checking the server's direct thrift dependency and the two thrift-related dependencies pulled through ringpop-go. Review whether the requested minimum thrift version can be unified without compatibility issues; done means the dependency graph no longer includes the older thrift versions and the security concern is addressed.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
backend, distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.