[ubuntu/disco-proposed] libblockdev 2.20-7ubuntu0.1 (Accepted)

Olivier Tilloy olivier.tilloy at canonical.com
Tue Jul 30 19:07:29 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
    Disks.
    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: Thu, 25 Jul 2019 12:33:46 +0200
Changed-By: Olivier Tilloy <olivier.tilloy at canonical.com>
Maintainer: Utopia Maintenance Team <pkg-utopia-maintainers at lists.alioth.debian.org>
Signed-By: Iain Lane <iain at orangesquash.org.uk>
https://launchpad.net/ubuntu/+source/libblockdev/2.20-7ubuntu0.1
-------------- next part --------------
Format: 1.8
Date: Thu, 25 Jul 2019 12:33:46 +0200
Source: libblockdev
Architecture: source
Version: 2.20-7ubuntu0.1
Distribution: disco
Urgency: medium
Maintainer: Utopia Maintenance Team <pkg-utopia-maintainers at lists.alioth.debian.org>
Changed-By: Olivier Tilloy <olivier.tilloy at canonical.com>
Closes: 928893
Launchpad-Bugs-Fixed: 1837437
Changes:
 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
     Disks.
     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)
Checksums-Sha1:
 49cfa0596bf7ec20f69ff27b59d2ecd89eec936f 5276 libblockdev_2.20-7ubuntu0.1.dsc
 0f23f8aeb365c15a6396baa910e0ceab3c743443 12912 libblockdev_2.20-7ubuntu0.1.debian.tar.xz
 c92189554c47a1813ad8cd3e07031a1f805f351d 12325 libblockdev_2.20-7ubuntu0.1_source.buildinfo
Checksums-Sha256:
 ecfe105b7c35186ee9baf62bfbdbb7a12ccea90a326d06153d35c26b8a1a6918 5276 libblockdev_2.20-7ubuntu0.1.dsc
 09e417157f8cbf3e1f4571010a1eae4842d5fce14b3c07702ad2ace97b1013ce 12912 libblockdev_2.20-7ubuntu0.1.debian.tar.xz
 8cf7ecd9a855cc48ac3b217d63c6d669f1ca2522416329b9a69cc7405f81de0c 12325 libblockdev_2.20-7ubuntu0.1_source.buildinfo
Files:
 df9408e5b9fab707f33d5d17c4a1a28b 5276 libs optional libblockdev_2.20-7ubuntu0.1.dsc
 a916de744228ed1045df3e9b183d92f4 12912 libs optional libblockdev_2.20-7ubuntu0.1.debian.tar.xz
 00717e2434a245c34d76711433224d3a 12325 libs optional libblockdev_2.20-7ubuntu0.1_source.buildinfo


More information about the Disco-changes mailing list