Zameer Manji created AURORA-837:
-----------------------------------

             Summary: validateSessionKeyForTasks can pass empty set of roles to 
checkAuthenticated
                 Key: AURORA-837
                 URL: https://issues.apache.org/jira/browse/AURORA-837
             Project: Aurora
          Issue Type: Bug
            Reporter: Zameer Manji


SchedulerThriftInterface.java contains the following:

{noformat}
  private SessionContext validateSessionKeyForTasks(
      SessionKey session,
      Query.Builder taskQuery,
      Iterable<IScheduledTask> tasks) throws AuthFailedException {

    // Authenticate the session against any affected roles, always including 
the role for a
    // role-scoped query.  This papers over the implementation detail that 
dormant cron jobs are
    // authenticated this way.
    ImmutableSet.Builder<String> targetRoles = ImmutableSet.<String>builder()
        .addAll(FluentIterable.from(tasks).transform(GET_ROLE));
    if (taskQuery.get().isSetOwner()) {
      targetRoles.add(taskQuery.get().getOwner().getRole());
    }
    return sessionValidator.checkAuthenticated(session, targetRoles.build());
  }
{noformat}

Since the owner field is deprecated and a cron job may not have any tasks 
available this can pass an empty set into {{checkAuthenticated}}. We should 
also grab the role from the query.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to