-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-37090][BUILD][3.2] Upgrade libthrift to 0.16.0 to avoid security vulnerabilities #35646
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
Conversation
14:53:54.715 WARN org.apache.hadoop.util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Exception in thread "HiveServer2-Handler-Pool: Thread-164" java.lang.NoClassDefFoundError: org/apache/thrift/transport/TFramedTransport
| => hat java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.apache.hadoop.hive.metastore.MetaStoreUtils.getClass(MetaStoreUtils.java:1708)
at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:131)
at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:104)
at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:3607)
at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3659)
at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3639)
at org.apache.hadoop.hive.ql.metadata.Hive.getAllFunctions(Hive.java:3901)
at org.apache.hadoop.hive.ql.metadata.Hive.reloadFunctions(Hive.java:248)
at org.apache.hadoop.hive.ql.metadata.Hive.registerAllFunctionsOnce(Hive.java:231)
at org.apache.hadoop.hive.ql.metadata.Hive.<init>(Hive.java:395)
at org.apache.hadoop.hive.ql.metadata.Hive.create(Hive.java:339)
at org.apache.hadoop.hive.ql.metadata.Hive.getInternal(Hive.java:319)
at org.apache.hadoop.hive.ql.metadata.Hive.get(Hive.java:288)
|
Weird, is this running tests? I don't see the test workflow executed here. |
|
Triggered the test. |
|
Merged to 3.2 |
…ty vulnerabilities This is a backport of #34362 to branch 3.2. ### What changes were proposed in this pull request? This PR ported HIVE-21498, HIVE-25098 and upgraded libthrift to 0.16.0. The CHANGES list for libthrift 0.16.0 is available at: https://github.com/apache/thrift/blob/v0.16.0/CHANGES.md ### Why are the changes needed? To address [CVE-2020-13949](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13949). ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Existing test. Closes #35646 from wangyum/SPARK-37090-branch-3.2. Authored-by: Yuming Wang <yumwang@ebay.com> Signed-off-by: Sean Owen <srowen@gmail.com>
|
Hi @wangyum @srowen , after picking up this change and deploy it internally, we found an issue that seems to be related: still investigating what exactly caused the error though. The |
|
This seems like a Hive version issue - what are you using? |
|
We are using the same Hive version 2.3.9 as in upstream Spark. I checked |
|
@sunchao Could we backport https://issues.apache.org/jira/browse/HIVE-21498 and https://issues.apache.org/jira/browse/HIVE-25098 to branch-2.3 and release a new version? |
|
Hi, @wangyum . Thanks, but, before releasing a new Hive, we need to revert libthrift 0.16.0 from master/3.2/3.1. Apache Spark 3.3 branch cut is planned on March 15th. We have only two weeks. Could you revert SPARK-37090 from master/3.2/3.1 as a committer and author, please? |
|
(Could someone briefly explain the issue - what's different about where it fails than what the tests run? not something that can be just fixed-forward?) |
|
Hi, @srowen .
Given the size of Hive patches, I don't think we can afford these in Apache Spark 3.3/3.2/3.1. |
|
To be clear, I didn't take a look at those two huge patches, but I'm not sure those patches are able to land at Apache Hive 2.3.10. |
|
@srowen . For your questions, @sunchao found that
|
@wangyum I can give it a try but it could be challenging given the amount of changes in these two. It'll take some time and most likely won't be ready before Spark 3.3 release.
@srowen I think this scenario is not covered in any test in Spark - it requires a remote secure HMS but Spark Hive tests only use embedded HMS through Derby. |
|
Ya, @sunchao is right. To @srowen and @wangyum . SPARK-37090 is not released yet. I'm going to revert this from all branches. We can land this back. However, before that, at least, we need to make it sure that the following three new public abstract TConfiguration getConfiguration();
public abstract void updateKnownMessageSize(long size) throws TTransportException;
public abstract void checkReadBytesAvailable(long numBytes) throws TTransportException; |
|
In addition, I added those two Hive 4.0 JIRA links as a blocker for SPARK-37090. |
|
Thank you @dongjoon-hyun This PR(apache/hive#3066) tries to backport HIVE-21498 and HIVE-25098 to branch-2.3. |
|
Thank you, @wangyum ! |
|
I added my comment on your Hive PR, too.
|
…ty vulnerabilities This is a backport of apache#34362 to branch 3.2. This PR ported HIVE-21498, HIVE-25098 and upgraded libthrift to 0.16.0. The CHANGES list for libthrift 0.16.0 is available at: https://github.com/apache/thrift/blob/v0.16.0/CHANGES.md To address [CVE-2020-13949](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-13949). No. Existing test. Closes apache#35646 from wangyum/SPARK-37090-branch-3.2. Authored-by: Yuming Wang <yumwang@ebay.com> Signed-off-by: Sean Owen <srowen@gmail.com>
This is a backport of #34362 to branch 3.2.
What changes were proposed in this pull request?
This PR ported HIVE-21498, HIVE-25098 and upgraded libthrift to 0.16.0.
The CHANGES list for libthrift 0.16.0 is available at: https://github.com/apache/thrift/blob/v0.16.0/CHANGES.md
Why are the changes needed?
To address CVE-2020-13949.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Existing test.