[Bug 1719176] Re: cryptsetup fails to initialize /tmp encrypted by /dev/urandom during boot
Johannes Grassler
1719176 at bugs.launchpad.net
Wed Feb 1 12:28:38 UTC 2023
I can confirm this problem still persists for Ubuntu 20.04 LTS (haven't
tested on anything more recent). Here's the crypttab(5) I used for
testing:
crypt-tmp /dev/disk/by-partlabel/linux-tmp /dev/urandom cipher=aes-xts-
plain64,size=256,hash=sha1,tmp=ext4
This is a fairly serious security bug because it will fail quietly. The
only way to tell is to see the journal message or check manually whether
/tmp is mounted from a LUKS volume. If anybody attempts to set up an
encrypted /tmp this way without checking it actually gets mounted,
they'll get a /tmp that's just a plain old directory in the root file
system.
** Changed in: cryptsetup (Ubuntu)
Status: New => Confirmed
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to cryptsetup in Ubuntu.
https://bugs.launchpad.net/bugs/1719176
Title:
cryptsetup fails to initialize /tmp encrypted by /dev/urandom during
boot
Status in cryptsetup package in Ubuntu:
Confirmed
Bug description:
Checked to happen on several instance of Ubuntu 16.04 (64bit).
Setup: /dev/vdb6 partition is set for /tmp
/etc/crypttab:
cryptswap1 UUID=ba7eaa11-bfcf-4d28-917d-f9b4e2a48830 /dev/urandom swap,offset=1024,cipher=aes-xts-plain64
crypttmp1 /dev/vdb6 /dev/urandom tmp=ext4,cipher=aes-xts-plain64
After the system boots, there's /dev/mapper/cryptswap1, but not
/dev/mapper/crypttmp1 available.
In /var/log/syslog:
Sep 24 18:15:03 ubuntu-1604 systemd[1]: Starting Cryptography Setup for crypttmp1...
Sep 24 18:15:03 ubuntu-1604 systemd[1]: Starting Authenticate and Authorize
Users to Run Privileged Tasks...
Sep 24 18:15:03 ubuntu-1604 systemd-cryptsetup[1162]: Encountered unknown /etc/crypttab option 'tmp=ext4', ignoring.
Sep 24 18:15:03 ubuntu-1604 systemd-cryptsetup[1162]: crypt_load() failed on device /dev/vdb6.
Sep 24 18:15:03 ubuntu-1604 systemd-cryptsetup[1162]: Failed to activate: Invalid argument
Sep 24 18:15:03 ubuntu-1604 systemd[1]: systemd-cryptsetup at crypttmp1.service: Main process exited, code=exited, status=1/FAILURE
Sep 24 18:15:03 ubuntu-1604 systemd[1]: Failed to start Cryptography Setup
for crypttmp1.
Sep 24 18:15:03 ubuntu-1604 systemd[1]: Dependency failed for dev-mapper-crypttmp1.device.
Sep 24 18:15:03 ubuntu-1604 systemd[1]: dev-mapper-crypttmp1.device: Job dev-mapper-crypttmp1.device/start failed with result 'dependency'.
Sep 24 18:15:03 ubuntu-1604 systemd[1]: systemd-cryptsetup at crypttmp1.service: Unit entered failed state.
Sep 24 18:15:03 ubuntu-1604 systemd[1]: systemd-cryptsetup at crypttmp1.service: Failed with result 'exit-code'.
After the boot sequence concludes, /tmp can be initialized manually,
but with quirks:
# cryptdisks_start crypttmp1
* Starting crypto disk... * crypttmp1 (starting)..
* crypttmp1 (started)... [ OK ]
# ls /dev/mapper
control cryptswap1 crypttmp1
# blkid
/dev/vda5: UUID="d604b9da-9ef0-4a88-b1e2-416104f6dac9" TYPE="ext4" PARTUUID="aa8f7570-05"
/dev/vdb5: UUID="ba7eaa11-bfcf-4d28-917d-f9b4e2a48830" TYPE="swap" PARTUUID="aa7293f2-05"
/dev/vdb6: PARTUUID="aa7293f2-06"
/dev/mapper/cryptswap1: UUID="2fef28d0-25df-4feb-96c5-cefef62b388e" TYPE="swap"
/dev/mapper/crypttmp1: UUID="1b372ae0-5042-4cbf-9dfe-05d60e2c357c" TYPE="ext2"
(pay attention to filesystem type, despite the parameter tmp=ext4 )
# mount -t ext2 /dev/mapper/crypttmp1 /tmp
#
(note that /tmp filesystem is formatted as ext2, despite the parameter
in /etc/crypttab)
If 'tmp=' option is omitted from /etc/crypttab line for /tmp, no valid
filesystem is created on /dev/mapper/crypttmp1
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cryptsetup/+bug/1719176/+subscriptions
More information about the foundations-bugs
mailing list