#1039693 cyrus-imapd: Regression with CVE-2021-33582 fix

Package:
cyrus-imapd
Source:
cyrus-imapd
Description:
Cyrus mail system - IMAP support
Submitter:
Jean Charles Delépine
Date:
2023-06-28 08:51:05 UTC
Severity:
normal
#1039693#5
Date:
2023-06-28 08:39:35 UTC
From:
To:
On an installation using auth_mech: pts upgrading cyrus to 3.2.6-2+deb11u2 breaks
somehow ptscache.db and prevent the admin user to be recognise as admin.

Before upgrade, cyrus 3.2.5-2 :
2023-06-28T09:42:17.166276+02:00 backend-dev-02 cyrus/imap[157143]: login: frontend test DIGEST- MD5 User logged in SESSIONID=<cyrus-1687938137-157143-1-3398314216623499281>

After upgrade, cyrus 3.2.6-2+deb11u2 :
2023-06-28T09:44:24.337509+02:00 backend-dev-02 cyrus/imap[160312]: badlogin: frontend DIGEST-MD5 (test) [SASL(-13): authentication failure: user admin is not allowed to proxy]

Direct login works fine :
  login: localhost [::1] admin DIGEST-MD5 User logged in SESSIONID=<cyrus-1687940350-169655-1-697575313408123472>

But admih is not recognise as an admin anymore :
  MUPDATE: can't commit mailbox entry for 'user.admin'
  Deleted mailbox user.admin
  autocreateinbox: User admin, INBOX failed. unable to reserve mailbox on mupdate server

# cyradm -user mailadmin localhost
localhost> lm '*.*'
localhost>

If I go back to 3.2.5-2 package I can login again.
If I wait enought I can login again.
If I remove ptscache.db I can login again.

And admin is back as admin :
# cyradm -user admin localhost
Password:
localhost> lm '*.*'
user.test (\HasChildren)
user.test.Drafts (\HasNoChildren)
user.test.Sent (\HasNoChildren)
user.test.Templates (\HasNoChildren)
user.test.Trash (\HasNoChildren)
user.test.spam (\HasNoChildren)
localhost>

This bug was first found while backporting 3.2.6-2+deb11u2 to buster.
Removing CVE-2021-33582 fix from the backport corrects the bug.

Maybe removing ptscache.db on upgrade if it exists is a solution. It
will be dynamicaly recreated.

Sincerly,
    Jean Charles Delépine