!NBBFPbiuttRgTqbrcY:nixos.org

NixOS Security Discussions

367 Members
Discussions around Security | Triaging happens in #security:nixos.org124 Servers

Load older messages


SenderMessageTime
16 Jul 2022
@vcunat:matrix.orgvcunat * As it seems very likely that fixes will be simply adding the separate libcrypt as build input to whatever starts missing it.20:45:56
@hexa:lossy.networkhexatrue20:47:17
@hexa:lossy.networkhexatrying to follow https://github.com/NixOS/nixpkgs/issues/112371#issue-80331769120:47:29
@hexa:lossy.networkhexadoes that make sense?20:47:32
@hexa:lossy.networkhexa

Add a flag withLibcrypt (defaults to true) to glibc package that disables building and installing libcrypt.so.1 and crypt.h if set to false.

20:47:37
@k900:0upti.meK900As someone who's got trouble with rabbit holes, I'd just like to remind you that you wanted to not do this20:47:39
@hexa:lossy.networkhexa

One-by-one update packages that expect libcrypt.so.1 in glibc by giving them a flag useGlibcLibcrypt (defaults to true).

20:47:48
@hexa:lossy.networkhexayeah, but someone has to20:47:59
@hexa:lossy.networkhexaI hope I won't have to do this alone20:48:05
@hexa:lossy.networkhexa
  1. Allow opting out of libcrypt in glibc
  2. Find packages that require libcrypt.so (through magic?) and make libcrypt optional
20:49:42
@hexa:lossy.networkhexa *
  1. Allow opting out of libcrypt in glibc
  2. Find packages that require libcrypt.so (through magic?) and make libcrypt optional
  3. Create global uesGlibcLibcrypt toggle and bind everything to it
20:50:10
@k900:0upti.meK900Maybe just rip out libcrypt instead and see what explodes?20:50:15
@k900:0upti.meK900And replace with libxcrypt as we find it20:50:20
@k900:0upti.meK900 AFAIU libxcrypt should be a drop-in replacement 20:50:31
@hexa:lossy.networkhexayeah, I think the "finding" part is checking what explodes20:50:42
@hexa:lossy.networkhexaand fixing it up, ideally with what you just said20:51:02
@k900:0upti.meK900Yeah I'm mostly not sure about the global toggle bit20:51:15
@hexa:lossy.networkhexayeah, I'm not sure we really need it20:51:26
@hexa:lossy.networkhexalike … packages that are stuck on libcrypt can glibc.override maybe?20:51:43
@k900:0upti.meK900

On Linux-based systems, by default libxcrypt will be binary backward compatible with the libcrypt.so.1 shipped as part of the GNU C Library. This means that all existing binary executables linked against glibc’s libcrypt should work unmodified with this library’s libcrypt.so.1. We have taken pains to provide exactly the same symbol versions as were used by glibc on various CPU architectures, and to account for the variety of ways in which the Openwall extensions were patched into glibc’s libcrypt by some Linux distributions. (For instance, compatibility symlinks for SUSE’s “libowcrypt” are provided.)

20:52:39
@k900:0upti.meK900https://github.com/besser82/libxcrypt20:52:42
@hexa:lossy.networkhexaalrighty20:52:51
@k900:0upti.meK900 They worked really fucking hard to be compatible 20:52:52
@k900:0upti.meK900So I'm hoping there will not be many explosions20:53:06
@k900:0upti.meK900Or any explosions20:53:09
@hexa:lossy.networkhexathen the plan gets clearer20:53:18
@k900:0upti.meK900I'm pretty sure Arch just dropped it in one day and the binary compatibility just ... worked20:53:28
@hexa:lossy.networkhexamaking things go boom and adding libxcrypt it is20:53:28
@vcunat:matrix.orgvcunatFedora has been using a split libxcrypt for quite some time, so there should at least be patches for the important packages.20:58:20
@hexa:lossy.networkhexa

programs that use certain legacy APIs supplied by glibc’s libcrypt (encrypt, encrypt_r, setkey, setkey_r, and fcrypt) cannot be compiled against libxcrypt.

21:10:41

Show newer messages


Back to Room ListRoom Version: 9