accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Tubbs (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-3460) Monitor should not allow HTTP TRACE
Date Tue, 26 May 2015 21:07:19 GMT


Christopher Tubbs commented on ACCUMULO-3460:

The solution I applied was to enforce a security constraint which required one to be authenticated
with an unspecified (thus, impossible to satisfy) set of roles, before TRACE could be permitted.
As a result, the error message is a 403 Forbidden (if the roles had been specified, it would
have returned a 401 Unauthorized... something we may want to consider in the future if we
make it so that authenticated users are permitted to do TRACE).

An alternative solution would have been to implement doTrace in all of our servlets, which
responded with a 405 Method Not Allowed error, like the DefaultServlet does (which we could
get by extending DefaultServlet). However, I felt that a solution with a server-level constraint
would be more robust to changes in the future (like somebody forgetting to extend a base Servlet
or changes to the underlying behavior of DefaultServlet). I also wasn't sure if there'd be
any other side-effects of extending DefaultServlet, which we wouldn't want.

> Monitor should not allow HTTP TRACE
> -----------------------------------
>                 Key: ACCUMULO-3460
>                 URL:
>             Project: Accumulo
>          Issue Type: Bug
>          Components: monitor
>    Affects Versions: 1.5.0, 1.5.1, 1.5.2, 1.6.0
>            Reporter: Sean Busbey
>            Assignee: Christopher Tubbs
>            Priority: Minor
>              Labels: security
>             Fix For: 1.6.3, 1.8.0, 1.7.1
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
> A Nessus scan pinged my test cluster because the Accumulo monitor allows HTTP TRACE requests.
(ref: [an overview of the general problem class|])
> The issue isn't bad unless
> * there's a same-origin-policy bypass for the user browser
> * there's an auth token we care about
> Exploits the bypass the same-origin-policy happen, so it's best to clean up server side
if possible.
> The only auth tokens present in the Monitor are when we make use of the ShellServlet
from ACCUMULO-196. We rely on the session state for auth, so there isn't a risk of leaking
auth info directly, but we would leak the session id. 
> The CSRF added in ACCUMULO-2785 means just the session id wouldn't be enough for impersonation,
but if an attacker can read one requested page we have to presume they can read another.
> We should clean up our configs to disallow HTTP TRACE as a proactive measure.
> Marking minor since an attack vector would need an enabling vulnerability on the client

This message was sent by Atlassian JIRA

View raw message