Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-14885

Vulnerable and pointless password storage on client computers

    • We collect Confluence feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

      Given the following:
      -http://confluence.atlassian.com/display/DOC/Confluence+Cookies, which says "a one-way hash of the user's password" is stored in a browser cookie on the user's computer.
      -CSP-29692 (case I opened with Atlassian support), which explained that EncryptionUtils.java is used to encrypt the password.
      -EncryptionUtils.java, which suggests the password is encrypted using PBEWithMD5AndDES (http://java.sun.com/j2se/1.5.0/docs/guide/security/jce/JCERefGuide.html#AppA)

      Confluence unnecessarily stores a user's password on the client machine, and it does so with questionable security.

      First, there is never a reason to store a user's password, or hash thereof, on a client machine. Ever. You should be using some other token whose generation algorithm does not even use the password as an input.

      Second, even if you can rebut #1, what you store is utterly useless to LDAP-connected Confluence installs. You can only authenticate to a directory server with the original password. A 1 way hash of the password has no value with LDAP authentication, so you're creating risk with no benefit.

      Third, your use of MD5+DES is questionable. DES does not provide acceptable security to the US federal government, and MD5 has significant vulnerabilities. Even the PKCS #5 1.5 standard upon which PBEWithMD5AndDES is based was superseded in 1999. See http://www.rsa.com/rsalabs/node.asp?id=2127.

              Unassigned Unassigned
              dc8cdf9b05da Aren Cambre
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: