!ZRgXNaHrdpGqwUnGnj:nixos.org

NixOS Security Triage

691 Members
Coordination and triage of security issues in nixpkgs215 Servers

Load older messages


SenderMessageTime
4 Jul 2024
@erictapen:chat.ccc-p.orgKerstin (she/her) joined the room.16:01:33
@soispha:vhack.euBenedikt changed their display name from Soispha to Benedikt.19:10:30
5 Jul 2024
@septem9er:fairydust.spaceSeptem9er

Hey,
it seems like there is an regression of CVE-2023-36476 in the Nixos-calamares-extension, aka. the graphical NixOS-Installer.
The commit fixing this was reverted for some reason. It seems like they wanted to fix it another way in this commit. I haven't really looked into what they try to do in this commit, however the commit message was the following:

Do not use crypto_keyfile.bin in UEFI, but leave BIOS the same.

Which doesn't really make sense to me, because the original CVE applied to BIOS systems mostly. So leaving BIOS systems the same wouldn't fix the issue.

Someone reported this here, I could reproduce this with the latest Nixos-GNOME ISO, with the following steps:

  1. Start the ISO on a BIOS (legacy) system / in BIOS mode
  2. Select manual partitioning in the installer
  3. Create an unencrypted legacy-boot partition with mountpoint /boot
  4. Create an encrypted root partition with mountpoint /

After the installation is done, there is an luks-keyfile in an zstd/cpio archive in /boot/kernels/***-secrets, which does open the root partition.

11:36:34
@emilazy:matrix.orgemilythank you for the report11:48:34
@emilazy:matrix.orgemilyhttps://github.com/NixOS/calamares-nixos-extensions/pull/25 says "#21 broke encrypted swap by mishandling the removal of crypto_keyfile.bin. This reverts the original fix. Instead, we leave BIOS the same; that was secure as it was before", I guess this was just a misunderstanding of the vuln? :/11:49:21
@emilazy:matrix.orgemilymaybe it's better to revert and let encrypted swap be broken while we figure out what the proper fix is?11:50:59
@emilazy:matrix.orgemily(I guess this is going to require another GHSA? it's the month of security regressions…)11:51:25
@emilazy:matrix.orgemilynot an expert in this area though so I'll defer to those who are11:51:32
@hexa:lossy.networkhexa pinged elvishjerrico in #dev:nixos.org 11:54:40
@raitobezarius:matrix.orgraitobezariusi'm confused by the reports11:57:01
@raitobezarius:matrix.orgraitobezariusit took me time to reload the context11:57:05
@raitobezarius:matrix.orgraitobezariusbut BIOS GRUB users are protected by cryptodisk11:57:13
@septem9er:fairydust.spaceSeptem9er
In reply to @emilazy:matrix.org
https://github.com/NixOS/calamares-nixos-extensions/pull/25 says "#21 broke encrypted swap by mishandling the removal of crypto_keyfile.bin. This reverts the original fix. Instead, we leave BIOS the same; that was secure as it was before", I guess this was just a misunderstanding of the vuln? :/

Thanks, I didn't look at the pull request yet.

They also write:

NOTE: This is likely not a completely sufficient solution for users who choose manual partitioning. Mainly, if they create an unencrypted root partition with BIOS boot, it will still insecurely use crypto_keyfile.bin for other partitions that are encrypted.

Since they are specifically writing about unencrypted root partitions only, it seems like they thought it wouldn't be an issue for an encrypted root partiton?

Anyway, I guess this was a misunderstanding about the vulnerability. BIOS setups were definitly affected, the GHSA did specifically say it affects "non-UEFI systems".

11:57:52
@emilazy:matrix.orgemily
In reply to @raitobezarius:matrix.org
but BIOS GRUB users are protected by cryptodisk

the advisory says

Users who installed NixOS through the graphical calamares installer, with an unencrypted /boot, on either:

  • non-UEFI systems
11:58:16
@emilazy:matrix.orgemily I guess the key there is "unencrypted /boot"? 11:58:22
@septem9er:fairydust.spaceSeptem9er
In reply to @raitobezarius:matrix.org
but BIOS GRUB users are protected by cryptodisk
Could you elaborate on that?
11:58:27
@emilazy:matrix.orgemily UEFI ~always has unencrypted /boot, but on BIOS the happy path is for it to be encrypted? 11:58:36
@raitobezarius:matrix.orgraitobezariusok the key is indeed forcing to create an unencrypted /boot11:58:40
@raitobezarius:matrix.orgraitobezariusthis should be an invalid configuration11:58:51
@raitobezarius:matrix.orgraitobezariuswithout manual partitioning, you cannot reach that state, right?11:59:08
@raitobezarius:matrix.orgraitobezariusso not sure if it's vuln or (big big) footgun11:59:22
@emilazy:matrix.orgemilythe manual partitioning caveats are pretty scary if users have managed to independently construct an insecure configuration in the wild :(11:59:41
@raitobezarius:matrix.orgraitobezarius
In reply to @septem9er:fairydust.space
Could you elaborate on that?
well /boot is a cryptodisk in that situation so the keys over there are still as protected as before
11:59:49
@raitobezarius:matrix.orgraitobezariusoriginal reporter says12:00:27
@raitobezarius:matrix.orgraitobezarius

I have a similar setup with an unencrypted /boot and an encrypted /. When I start the OS it just boots all the way to user login not requiring my decryption password at any time.

12:00:28
@raitobezarius:matrix.orgraitobezariusbut makes no mention of BIOs or UEFI12:00:37
@raitobezarius:matrix.orgraitobezarius * but makes no mention of BIOS or UEFI12:00:41
@septem9er:fairydust.spaceSeptem9er
In reply to @raitobezarius:matrix.org
well /boot is a cryptodisk in that situation so the keys over there are still as protected as before
Yeah. The key is an unencryped boot partition, like it was already said.
12:00:48
@raitobezarius:matrix.orgraitobezarius
In reply to @septem9er:fairydust.space
Yeah. The key is an unencryped boot partition, like it was already said.
yeah but let's distinguish two things
12:01:04
@raitobezarius:matrix.orgraitobezarius(a) the installer creates an unencrypted /boot with an encrypted / by itself12:01:15

Show newer messages


Back to Room ListRoom Version: 6