Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-28692

Corrupt password when upgrading to eZ Platform 1.13 from earlier versions without DB update

    XMLWordPrintable

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Medium Medium
    • 1.13.1-rc1
    • 1.13.0
    • None
    • None

    Description

      eZ Platform v1.12.0 increased password hash length that improves security by allowing longer hashes to be stored in the database. This requires a modification to the database schema to allow longer hashes: https://github.com/ezsystems/ezpublish-kernel/blob/v6.13.0/data/update/mysql/dbupdate-6.11.0-to-6.12.0.sql

      Since v1.13.0 old style passwords are automatically updated on the first login to the new format. If you have forgotten to apply the database change, the first login happens - but the stored hash is not complete. There is no error message in the UI.

      This can be confusing to figure out as the login works on the first time a user logs in after an upgrade, but not on future logins.

      NOTE: This issue only occurs if the upgrade is not done correctly. The correct procedure is documented in the upgrade guide: https://doc.ezplatform.com/en/2.0/releases/updating_ez_platform/

      Steps to reproduce:

      • Install eZ Platform v1.11
      • Upgrade installation to v1.13 WITHOUT DB UPDATE (dbupdate-6.11.0-to-6.12.0.sql)
      • Log in to admin
      • Log out of admin
      • Log in to admin

      Result: Login fails, because a shortened (broken) hash is stored in the DB.

      Expected: Login should either always fail in this situation, or always work. Password hashes should not be saved in broken state.
      The proposed PR is to always fail, and log the error.

      Attachments

        Activity

          People

            Unassigned Unassigned
            jani.tarvainen@ibexa.co Jani Tarvainen
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 day, 6 hours, 30 minutes
                1d 6h 30m