[
https://issues.apache.org/jira/browse/STORM-2348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15854094#comment-15854094
]
Robert Joseph Evans commented on STORM-2348:
--------------------------------------------
[[email protected]],
+1. The majority of the code for the worker launcher was borrowed from
Hadoop's container launcher, simply because it was battle tested. As such I
don't understand all of the original reasoning for what is in the code, but
your reasoning seems fine to me and would add in a good feature.
> setuid(0) & setgid call results are not checked in worker-launcher
> ------------------------------------------------------------------
>
> Key: STORM-2348
> URL: https://issues.apache.org/jira/browse/STORM-2348
> Project: Apache Storm
> Issue Type: Improvement
> Components: storm-core
> Reporter: Tibor Kiss
> Assignee: Tibor Kiss
>
> worker-launcher elevates it's privileges using {{setuid(0)}} and
> {{setgid(group_info->gr_gid)}} calls:
> https://github.com/apache/storm/blob/master/storm-core/src/native/worker-launcher/impl/main.c#L116-L119
> The current implementation does not validate the return value of those calls,
> rather it checks' the privileges (setuid + root ownership) of the binary
> through {{check_executor_binary()}}
> This approach works correctly, but it could be improved:
> If we'd check the return values of setuid(0) & setgid() and drop the binary
> check it would be possible to gain elevated privileges using CAP_SETUID &
> CAP_SETGID.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)