Skip to content

fix the ugi security bug of OrcInputFormat which is caused by thread-…#1

Open
VicoWu wants to merge 1 commit intoJoshRosen:release-1.2.1-spark2from
VicoWu:bug-fix-for-orc-ugi
Open

fix the ugi security bug of OrcInputFormat which is caused by thread-…#1
VicoWu wants to merge 1 commit intoJoshRosen:release-1.2.1-spark2from
VicoWu:bug-fix-for-orc-ugi

Conversation

@VicoWu
Copy link

@VicoWu VicoWu commented Sep 13, 2017

As mentioned in SPARK-11248, the spark thrift server have security bugs , cause the result that user A sometimes have the authority of user B and User B sometimes have the authority of user A in turn. I debugged it and I find that it is caused by the hive 1.2.1 library , OrcInputFormat.java, in which a thread pool is created to contact with remote HDFS. Since threads in pool is reused and shared, so , when thread-1-pool-1 is used by user A previously and after that user B is assigned to this thread in coincidence, then user B will have the security context of User A.

I have fixed this bug by add UserGroupInformation in this pool, to make sure that when a user is assigned a thread, then the security is switched to this user at the same time.

@JoshRosen
Copy link
Owner

Process-wise, I think the right thing to do here is for us to work with the Hive project to publish Spark's fork of Hive via the official Hive release process. There are some proposals of how to do this at https://issues.apache.org/jira/browse/HIVE-16391. Maybe we should ping that thread to try to reach consensus with the Hive team on the right way to proceed?

@maver1ck
Copy link

maver1ck commented Feb 5, 2018

@JoshRosen
Can we treat this PR as a workaround ?
It'll be nice to see this merged in Spark 2.3.0

@VicoWu
Copy link
Author

VicoWu commented Nov 14, 2018

@JoshRosen @maver1ck , so, should we merge it or close this PR?

@VicoWu
Copy link
Author

VicoWu commented Dec 10, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants