hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chao (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-9934) Vulnerability in LdapAuthenticationProviderImpl enables HiveServer2 client to degrade the authentication mechanism to "none", allowing authentication without password
Date Mon, 16 Mar 2015 20:56:39 GMT

     [ https://issues.apache.org/jira/browse/HIVE-9934?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Chao updated HIVE-9934:
-----------------------
    Attachment: HIVE-9934.2.patch

(cc [~prasadm] [~xuefuz]). I was able to reproduce the issue after disabling JDBC authentication
and use the Hadoop provided {{SaslPlainServerFactory}}. I need to do the latter because Hive
provided Sasl server implementation checks the case when password is empty, therefore the
issue could be prevented. However, if the Hadoop version class gets loaded first (which doesn't
check whether password is null or empty), then the issue could still happen.

In this patch I also included a simple uni test. Desirably we should write an end-to-end test,
however that involves non-trivial work. I'll put that in a follow-up JIRA.

> Vulnerability in LdapAuthenticationProviderImpl enables HiveServer2 client to degrade
the authentication mechanism to "none", allowing authentication without password
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-9934
>                 URL: https://issues.apache.org/jira/browse/HIVE-9934
>             Project: Hive
>          Issue Type: Bug
>          Components: Security
>    Affects Versions: 1.1.0
>            Reporter: Chao
>            Assignee: Chao
>         Attachments: HIVE-9934.1.patch, HIVE-9934.2.patch
>
>
> Vulnerability in LdapAuthenticationProviderImpl enables HiveServer2 client to degrade
the authentication mechanism to "none", allowing authentication without password.
> See: http://docs.oracle.com/javase/jndi/tutorial/ldap/security/simple.html
> “If you supply an empty string, an empty byte/char array, or null to the Context.SECURITY_CREDENTIALS
environment property, then the authentication mechanism will be "none". This is because the
LDAP requires the password to be nonempty for simple authentication. The protocol automatically
converts the authentication to "none" if a password is not supplied.”
>  
> Since the LdapAuthenticationProviderImpl.Authenticate method is relying on a NamingException
being thrown during creation of initial context, it does not fail when the context result
is an “unauthenticated” positive response from the LDAP server. The end result is, one
can authenticate with HiveServer2 using the LdapAuthenticationProviderImpl with only a user
name and an empty password.



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

Mime
View raw message