[ubuntu/disco-updates] libblockdev 2.20-7ubuntu0.1 (Accepted)
brian at ubuntu.com
Tue Aug 13 16:04:04 UTC 2019
libblockdev (2.20-7ubuntu0.1) disco; urgency=medium
[ intrigeri ]
* Use existing cryptsetup API for changing keyslot passphrase.
Cherry-pick upstream fix to use existing cryptsetup API for atomically
changing a keyslot passphrase, instead of deleting the old keyslot
before adding the new one. This avoids data loss when attempting to
change the passphrase of a LUKS2 device via udisks2, e.g. from GNOME
Deleting a keyslot and then adding one is risky: if anything goes wrong
before the new keyslot is successfully added, no usable keyslot is left
and the device cannot be unlocked anymore. There's little chances this
causes actual problems with LUKS1, but LUKS2 defaults to the memory-hard
Argon2 key derivation algorithm, which is implemented in cryptsetup with
the assumption that it runs as root with no MEMLOCK ulimit; this
assumption is wrong when run by udisks2.service under
LimitMEMLOCK=65536, which breaks adding the new keyslot, and makes us
hit the problematic situation (user data loss) every time.
With this change, changing a LUKS2 passphrase via udisks2 will still
fail in some cases, until the MEMLOCK ulimit problem is solved in
cryptsetup or workaround'ed in udisks2. But at least, if it fails, it
will fail _atomically_ and the original passphrase will still work.
(Closes: #928893) (LP: #1837437)
Date: 2019-07-25 14:28:10.221628+00:00
Changed-By: Olivier Tilloy <olivier.tilloy at canonical.com>
Signed-By: Brian Murray <brian at ubuntu.com>
-------------- next part --------------
Sorry, changesfile not available.
More information about the Disco-changes