!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

416 Members
(Technical) development of Lix, the package manager, a Nix implementation. Please be mindful of ongoing technical conversations in this channel.139 Servers

Load older messages


SenderMessageTime
15 Jul 2025
@raitobezarius:matrix.orgraitobezariusWell, yeah.17:57:05
@aloisw:julia0815.dealoiswOf course fixing the arbitrary directory emptying is still good (and to my understanding it was actually done).17:57:34
@raitobezarius:matrix.orgraitobezariusYeah, the methodology was to split all entrypoints / primitives into separate CVE, then coordination wrote generic blurb for them17:57:54
@raitobezarius:matrix.orgraitobezariusSo that if in the future, they are reused as attack primitives, we can reference them again and mark them as insufficiently mitigated17:58:08
@raitobezarius:matrix.orgraitobezariusWe tried to close all the primitives as much as possible17:58:30
@raitobezarius:matrix.orgraitobezariusBut clearly, some work remains: dropping nix-daemon privileges, re-closing CVE-2025-52992, propagating pasta everywhere, etc.17:58:50
@raitobezarius:matrix.orgraitobezarius (adding ForbidAbstractSocket to systemd) 17:58:58
@raitobezarius:matrix.orgraitobezariusBut I'm unable to re-conclude with certainty that this specific _deletePath primitive was unlimited or contained in Nix build outputs17:59:30
@raitobezarius:matrix.orgraitobezariusIf a parent directory is replaced with a symlink between the call to getdents and the call to openat, the next openat call will operate on the unexpected directory…18:00:14
@raitobezarius:matrix.orgraitobezariusSo yeah, you could just symlink /tmp/SOMETHING18:00:37
@raitobezarius:matrix.orgraitobezariusBut honestly, in the case of /nix/var/nix/builds18:00:58
@raitobezarius:matrix.orgraitobezariusWhat are you going to delete?18:01:07
@raitobezarius:matrix.orgraitobezarius /nix/var/nix ? 18:01:10
@raitobezarius:matrix.orgraitobezarius or /nix/var/nix/builds ? 18:01:16
@raitobezarius:matrix.orgraitobezariusdoesn't matter that much?18:01:19
@raitobezarius:matrix.orgraitobezarius You cannot recreate because it's stronger security than living in /tmp, right? 18:01:31
@aloisw:julia0815.dealoiswI'm talking about the fallback, where you can still empty /tmp and it's the same as before except you have to create two directories?18:01:51
@raitobezarius:matrix.orgraitobezariusIndeed, the fallback logic does that18:02:00
@raitobezarius:matrix.orgraitobezariusMaybe the takeaway is that fallback is a bad idea18:02:12
@aloisw:julia0815.dealoisw/nix/var/nix/builds is of course unaffected because no component is world writable.18:02:18
@raitobezarius:matrix.orgraitobezariusBut we are running in an impossible tension when it comes to that logic18:02:19
@raitobezarius:matrix.orgraitobezarius The fallback logic exist when you run Nix as an unprivileged user that cannot mutate /nix/var/nix/builds 18:02:37
@raitobezarius:matrix.orgraitobezariusWhat this points out to is probably that the build directory should live in the user private tmp?18:03:01
@raitobezarius:matrix.orgraitobezarius So, /run/user/$UID ? 18:03:11
@raitobezarius:matrix.orgraitobezariusHow about this?18:03:28
@raitobezarius:matrix.orgraitobezarius Fallback logic tries to go for /run/user/$UID first then fallback to /tmp 18:03:38
@raitobezarius:matrix.orgraitobezariusThe tmp fallback seems inevitable for… other platforms than Linux/systemd I suppose?18:03:48
@raitobezarius:matrix.orgraitobezarius
In reply to @me:indeednotjames.com
uh sure, can look into this if jade is currently away/afk
(go ahead)
18:04:45
@raitobezarius:matrix.orgraitobezarius
In reply to @raitobezarius:matrix.org
The fallback logic exist when you run Nix as an unprivileged user that cannot mutate /nix/var/nix/builds
And to finish my reasoning: either you have a nice location that you know has no world writable component, but you need to find one that makes sense for the user and is writable for you, either you don't and the world writable locations are not too bad for that?
18:05:24
@raitobezarius:matrix.orgraitobezariusThe best is the former, the worse is the latter18:05:53

Show newer messages


Back to Room ListRoom Version: 10