You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Eduardo Aguinaga (JIRA)" <ji...@apache.org> on 2015/12/15 17:00:47 UTC

[jira] [Created] (KARAF-4206) Session Fixation

Eduardo Aguinaga created KARAF-4206:
---------------------------------------

             Summary: Session Fixation
                 Key: KARAF-4206
                 URL: https://issues.apache.org/jira/browse/KARAF-4206
             Project: Karaf
          Issue Type: Bug
    Affects Versions: 4.0.3
            Reporter: Eduardo Aguinaga


HP Fortify SCA and SciTools Understand was used to perform an application security analysis on the karaf source code.

On line 69 of SuCommand.java the method execute() authenticates users without invalidating the existing session identifier, giving an attacker the opportunity to steal authenticated sessions. An existing session should be invalidated by calling HttpSession.invalidate() prior to calling  loginContext.login().

File: jaas/command/src/main/java/org/apache/karaf/jaas/command/SuCommand.java
Line: 69

SuCommand.java, lines 52-69:
52 @Override
53 public Object execute() throws Exception {
54     Subject subject = new Subject();
55     LoginContext loginContext = new LoginContext(realm, subject, new CallbackHandler() {
56         public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
57             for (Callback callback : callbacks) {
58                 if (callback instanceof NameCallback) {
59                     ((NameCallback) callback).setName(user);
60                 } else if (callback instanceof PasswordCallback) {
61                     String password = SuCommand.this.session.readLine("Password: ", '*');
62                     ((PasswordCallback) callback).setPassword(password.toCharArray());
63                 } else {
64                     throw new UnsupportedCallbackException(callback);
65                 }
66             }
67         }
68     });
69     loginContext.login();



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