Rust 1.58.1 released
Rust 1.58.1 released
Posted Jan 22, 2022 2:20 UTC (Sat) by jra (subscriber, #55261)In reply to: Rust 1.58.1 released by NYKevin
Parent article: Rust 1.58.1 released
Posted Jan 22, 2022 3:00 UTC (Sat)
by JoeBuck (subscriber, #2330)
[Link] (26 responses)
Posted Jan 22, 2022 4:30 UTC (Sat)
by jra (subscriber, #55261)
[Link] (25 responses)
I've come to the conclusion that symlink race conditions are impossible to avoid, and trying to push the problem of avoiding them onto application developers has poisoned the once-clean POSIX filesystem API beyond repair.
More details in my forthcoming SambaXP talk later this year.
Posted Jan 22, 2022 5:46 UTC (Sat)
by willy (subscriber, #9762)
[Link] (17 responses)
Posted Jan 22, 2022 7:04 UTC (Sat)
by NYKevin (subscriber, #129325)
[Link] (14 responses)
Posted Jan 22, 2022 14:29 UTC (Sat)
by willy (subscriber, #9762)
[Link] (13 responses)
Linux has added many extensions to the file name API over the years. openat() (and the rest of the *at() family). Then openat2() with its RESOLVE flags (see https://man7.org/linux/man-pages/man2/openat2.2.html ). Much of this was done in consultation with the Samba team, so I was under the impression we had finally solved name resolution in the presence of symlinks and mounts and ... to their satisfaction.
Maybe I should have taken this question to linux-fsdevel to avoid randos misunderstanding.
Posted Jan 22, 2022 17:00 UTC (Sat)
by jra (subscriber, #55261)
[Link] (9 responses)
There are even *security* libraries that don't correctly cope with symlinks. The complexity is too much. Complexity is the enemy of security.
Symlinks "Have.To.Go." (tm) :-).
Posted Jan 22, 2022 17:12 UTC (Sat)
by willy (subscriber, #9762)
[Link] (3 responses)
Posted Jan 22, 2022 21:53 UTC (Sat)
by jra (subscriber, #55261)
[Link]
Posted Jan 23, 2022 15:02 UTC (Sun)
by ibukanov (subscriber, #3942)
[Link] (1 responses)
Posted Feb 10, 2022 18:38 UTC (Thu)
by nix (subscriber, #2304)
[Link]
Posted Jan 22, 2022 23:06 UTC (Sat)
by Cyberax (✭ supporter ✭, #52523)
[Link] (1 responses)
Posted Jan 23, 2022 13:37 UTC (Sun)
by khim (subscriber, #9252)
[Link]
Nonsense is the idea that one user should only have one level of trust. This leads to the infamous if someone steals my laptop while I'm logged in, they can read my email, take myh money, and impersonate me to my friends… but at least they can't install drivers without my permission. But we still have no idea what's the best way to resolve that dilemma. Although many are trying, but problem is far from being fully resolved. In particular most developer tools are designed for the paradigm where “one user = one level of trust”.
Posted Jan 22, 2022 23:17 UTC (Sat)
by khim (subscriber, #9252)
[Link] (1 responses)
The question is whether we can provide library with somewhat sane higher-level API which people may actually use to create symlink-safe applications. Is it actually doable or are needs of different apps are so diverse than it's just impossible to do? Maybe Windows solution™? There symlinks require admin privileges (unless you turn on developer's mode which makes it possible to create them with normal privilege levels).
Posted Jan 23, 2022 20:42 UTC (Sun)
by jra (subscriber, #55261)
[Link]
Posted Jan 23, 2022 10:34 UTC (Sun)
by cyperpunks (subscriber, #39406)
[Link]
Having fixed several security issues due to symlinks I have no hope developers will ever write code that is safe regarding race conditions of symlinks. The only way is to remove support for symlinks.
Posted Jan 23, 2022 15:26 UTC (Sun)
by walters (subscriber, #7396)
[Link] (2 responses)
What openat2 adds is the ability to follow symlinks in a constrained manner (e.g. in a particular root), but one doesn't need that in order to implement `rm -rf`.
I think not may userspace code tools actually want to follow symlinks inside a particular root; it's mostly things like container build tooling and runtimes, and userspace file servers.
I am very curious what Samba needs that isn't covered by the existing openat2() APIs.
For anyone who is writing one of those things though, I would recommend looking at e.g. https://crates.io/crates/cap-std (and the dependency chain) - it's high quality code, and I'm in the middle of porting some of our projects to use it.
Posted Jan 23, 2022 20:43 UTC (Sun)
by jra (subscriber, #55261)
[Link] (1 responses)
Posted Jan 23, 2022 20:46 UTC (Sun)
by jra (subscriber, #55261)
[Link]
Posted Jan 22, 2022 18:16 UTC (Sat)
by epa (subscriber, #39769)
[Link] (1 responses)
Posted Jan 22, 2022 18:20 UTC (Sat)
by willy (subscriber, #9762)
[Link]
Posted Jan 23, 2022 15:58 UTC (Sun)
by tialaramex (subscriber, #21167)
[Link] (6 responses)
What Rust's standard library did here was clearly wrong and at least one person who looked at it had previously _told_ them it was wrong, but they hadn't appreciated that this means it's a grave security hole and must be fixed.
The code they had before 1.58.1 is a very obvious TOCTOU bug. I had no reason to ever look at this code, but if I had looked at it I'd think, huh, why isn't this a TOCTOU bug? And it looks like the answer is that the people writing didn't know any better. I'm pretty sure I'd have known this is a TOCTOU bug twenty years ago, and maybe even twenty-five years ago - there isn't something new and subtle here.
There are a lot of these subtle but scarcely "superhuman" problems to overcome in writing something like the standard library. Maybe Unix could deliver a better API that makes it harder to get wrong, but honestly I feel like a big part of this is just even knowing TOCTOU is a problem, and realistically if you don't know that you can't program systems that face the real world. Or at least you shouldn't.
It's notable that Rust calls out supported platforms where they can't fix this. Redox has the excuse of being a relatively small and obscure piece of software, (not an excuse to not fix it, but an excuse for not having already fixed it). What's Apple's excuse?
Posted Jan 24, 2022 11:55 UTC (Mon)
by moltonel (guest, #45207)
[Link]
The same difference in attitude was seen with getenv/putenv last year : these APIs are inherently vulnerable, Rust created CVEs for them, while C and C++ just ignore the problem.
Posted Jan 24, 2022 18:38 UTC (Mon)
by bwelling (subscriber, #13189)
[Link] (4 responses)
Posted Jan 24, 2022 19:24 UTC (Mon)
by mathstuf (subscriber, #69389)
[Link]
Posted Jan 25, 2022 0:17 UTC (Tue)
by tialaramex (subscriber, #21167)
[Link] (2 responses)
I haven't seen a preview of the apparently shocking revelations to come in jra's talk but TOCTOU symlinks bugs are super old. I'm pretty sure I first read about them on Bugtraq when I was an undergraduate, so that's the mid-1990s.
Posted Jan 25, 2022 2:30 UTC (Tue)
by bwelling (subscriber, #13189)
[Link]
Also, the TOCTOU bugs are in applications, not the OS or the C library, so not something that can be fixed by anyone other the application developers.
Posted Jan 25, 2022 3:01 UTC (Tue)
by jra (subscriber, #55261)
[Link]
Posted Jan 22, 2022 4:00 UTC (Sat)
by pabs (subscriber, #43278)
[Link]
Posted Jan 23, 2022 14:45 UTC (Sun)
by ibukanov (subscriber, #3942)
[Link]
Posted Jan 23, 2022 17:46 UTC (Sun)
by ceplm (subscriber, #41334)
[Link] (46 responses)
Posted Jan 23, 2022 20:49 UTC (Sun)
by jra (subscriber, #55261)
[Link] (45 responses)
Posted Jan 24, 2022 3:26 UTC (Mon)
by dvdeug (guest, #10998)
[Link] (44 responses)
From the other side, a TOCTOU using symlink attack? That strikes me as more of a theoretical attack than a real one on most systems, particularly the ones I use. Even for the high-security system I'm setting up professionally, if they get in far enough to set up a symlink, they've gotten too far, and at that point, I can't imagine a symlink attack being their next step. Most Unix boxes are single-user systems any more, and this is not the attack of concern on single-user systems.
(Oh, and may I repeat that C is fundamentally insecure, which has been known since the Morris worm took down a large part of the Internet in 1989? I see the rush, or lack thereof, to write Unix programs in a language that bound-checks arrays, the least that could be expected. And we're going to give up symlinks over a security concern? Not likely.)
Posted Jan 24, 2022 3:40 UTC (Mon)
by jra (subscriber, #55261)
[Link] (41 responses)
You are also correct in that symlink attacks are largely theoretical, as there is so much lower hanging fruit to pick
But just *why* allow bad code using a horrible mangled set of APIs for a feature that has long outlived its usefulness.
Disks are really big now
Posted Jan 24, 2022 4:03 UTC (Mon)
by dvdeug (guest, #10998)
[Link] (9 responses)
Another example, much harder to replace, is the symlinking of /bin to /usr/bin. It allows for the collapse of the distinction between /bin and /usr/bin without anything with /bin or /usr/bin hardcoded in having trouble finding the files. I don't see any way to do this without ugly kernel patches.
Posted Jan 24, 2022 19:08 UTC (Mon)
by jra (subscriber, #55261)
[Link] (7 responses)
Posted Feb 10, 2022 18:54 UTC (Thu)
by nix (subscriber, #2304)
[Link] (6 responses)
Now hostile users can create all the symlinks they want, as can non-hostile users, and the use case the non-hostile users wanted (they can follow them) still works, while the hostile users find that only they are following the hostile symlinks they created, but nobody else can.
(Anyone still broken by this is probably using gid-shared directories for something, like it was the 1980s still. They're probably using ACLs too. A variant mode, off by default or on only in directories with the setgid bit active or perhaps which are gid-writable, which applies the same check based on the gid of the symlink instead of the uid, would suffice for that. I'm sceptical there are enough such systems around to worry about, though.)
Posted Feb 10, 2022 19:08 UTC (Thu)
by nybble41 (subscriber, #55106)
[Link] (5 responses)
While that is *less* problematic than limiting symlinks to root, I am still certain that would break some cases where I have used symlinks in practice. Perhaps we could just leave symlinks *alone* and fix the buggy applications instead?
For example: Say I have "$HOME/bin" symlinked to "$HOME/.local/bin" (true story) and I want to run a script located, according to the $PATH variable, at "$HOME/bin/somescript" as root via sudo. Your scheme breaks this since the bin → .local/bin symlink was created by my non-root user and needs to be followed by root to execute the script. Or more generally—say I just want to run a command as root on some file which has a symlink (which I created) somewhere in its path. Or perhaps I have versioned directories with a "latest" symlink and I want to share the path to the latest version with another user. These are all perfectly legitimate, real-world use cases which absolutely depend on the ability to create symlinks as a non-root user which will be followed by other users.
Posted Feb 10, 2022 20:58 UTC (Thu)
by rahulsundaram (subscriber, #21946)
[Link] (4 responses)
If fixing bugging applications were an easy way out, we wouldn't be having the conversation.
Posted Feb 10, 2022 22:56 UTC (Thu)
by nybble41 (subscriber, #55106)
[Link] (3 responses)
I never said that it would be *easy*. Finding and eliminating bugs rarely is. You could say the same about any change to symlink semantics, of course, and any additional bugs that might introduce above and beyond *planned* loss of functionality.
Posted Feb 10, 2022 23:07 UTC (Thu)
by rahulsundaram (subscriber, #21946)
[Link] (2 responses)
Posted Feb 11, 2022 6:52 UTC (Fri)
by nybble41 (subscriber, #55106)
[Link] (1 responses)
To begin with, most applications don't need any mitigation. They just open certain paths and have no reason to care whether there were symlinks involved. If an application doesn't employ path-based access control or traverse a directory tree then symlinks probably don't affect it at all. (The issue with the Rust library function was of the latter type.) *Samba* has a particular problem with symlinks (among other things) because it's trying to implement non-native VFS semantics, validating requests in userspace before handing them off the the kernel, which is obviously going to be a rich source of TOCTTOU bugs—this, understandably, is the cause of jra's obsession. Personally I don't consider "symlinks don't mesh well with Windows-oriented network filesystem protocols" to be a good reason to cripple a very useful feature which has been part of Unix-based systems since the early days, but a Samba developer will naturally have a different perspective due to a narrow focus on the needs of their software.
Identifying the issue is easy: If your program has code like "if (check(path)) { operate_on(path); }", that's a bug. It may be a *tolerable* bug, depending on how the program is used, but it's vulnerable to changes in the filesystem between the condition and the operation. This is a classic pattern and not really filesystem-specific, much less specific to symlinks.
The mitigation strategy for filesystem TOCTTOU bugs is well-known but tedious to implement: consistently use handles rather than paths in every situation where you need to perform multiple operations on the same filesystem object. If given a path as input only use it once, to obtain the handle. Every operation after that should use the *at() family of functions, ensuring that it works on the original object even if something changes which affects path resolution—which is not just symlinks but also regular link/unlink/rename operations, changes in mount points, etc. This is exactly how the issue was mitigated in Samba, though it took several years to complete the conversion since path-based interfaces were so deeply ingrained.
Posted Feb 11, 2022 14:12 UTC (Fri)
by rahulsundaram (subscriber, #21946)
[Link]
We aren't talking about most applications, only the ones that are affected. If a few high profile applications get affected, that's enough to cause a large impact. It's never been about the majority.
> The mitigation strategy for filesystem TOCTTOU bugs is well-known but tedious to implement
Hence, the desire to have other mitigation strategies.
Posted Jan 24, 2022 20:26 UTC (Mon)
by khim (subscriber, #9252)
[Link]
bind mount would solve that issue easily. But then, if you would give random user the ability to bind mount stuff easily… Symlinks-as-admin-tool sounds like a nice compromise: most of the issues with symlinks are with TOCTOU and if normal users can't create them it's not an issue.
Posted Jan 24, 2022 4:09 UTC (Mon)
by sfeam (subscriber, #2841)
[Link] (4 responses)
I am quite puzzled by that suggestion. I have been using symlinks for a very long time now, but I am having trouble thinking of a case where the reason was to avoid moving data. In my experience the primary use for symlinks is to avoid having multiple copies of something, often a configuration file, because the various subsystems that want to read it can't get their act together and agree where it belongs in the system file structure. They are good practice and benefit security for the same reasons that having a single shared library is better than having fifteen copies of the same library. The same arguments apply to user data shared across multiple accounts, especially where the symlink points to a remote disk. Could you clarify what problem "move the data" is solving?
Posted Jan 24, 2022 19:21 UTC (Mon)
by jra (subscriber, #55261)
[Link]
I think bind-mounts (or admin-only symlinks) would now serve the same purpose.
Posted Jan 24, 2022 20:27 UTC (Mon)
by karkhaz (subscriber, #99844)
[Link] (2 responses)
Another very important use for symlinks: there are far fewer things you can do atomically with a directory, compared to files. But if you instead have a symlink to a directory, you can do all the usual atomic stuff (delete/move a new directory on top of it/etc) that you can with files. Making symlinks admin-only would break a lot of legitimate usecases that are difficult to accomplish elsehow.
Posted Jan 25, 2022 0:50 UTC (Tue)
by jra (subscriber, #55261)
[Link] (1 responses)
Posted Feb 20, 2022 15:18 UTC (Sun)
by nix (subscriber, #2304)
[Link]
Or perhaps I totally fail to understand. (Likely I do, becasue that position seems incoherent.)
Posted Jan 24, 2022 13:40 UTC (Mon)
by mathstuf (subscriber, #69389)
[Link] (25 responses)
Umm. How would you suggest that I replace my use of symlinks to make sure that build directories for software are:
- all in one place (to ease backup exclusions and cleanup if/when disk space is needed); and
Directory hardlinks could work, but those sound…even worse.
Posted Jan 24, 2022 16:18 UTC (Mon)
by nybble41 (subscriber, #55106)
[Link] (21 responses)
Removing or restricting symlinks is a complete non-starter. They're too tightly integrated—and too useful—to eliminate. Just fix the apps and libraries which don't handle them properly.
Posted Jan 24, 2022 19:11 UTC (Mon)
by jra (subscriber, #55261)
[Link] (20 responses)
Admin-only symlinks fixes this.
> Even just restricting symlinks to admins would break the configuration of user sessions.
Can you explain more ?
> Symlinks also appear in essential roles in core interfaces like /sys.
/sys then is a filesystem that allows symlinks.
> Just fix the apps and libraries which don't handle them properly.
Can't be done by mortal developers. How many years now have we been trying ? If it were possible we'd have done it already by now.
Posted Jan 24, 2022 19:28 UTC (Mon)
by mathstuf (subscriber, #69389)
[Link] (2 responses)
Posted Jan 24, 2022 19:39 UTC (Mon)
by jem (subscriber, #24231)
[Link]
Your comment is funny considering the parent article is about Rust.
Posted Jan 24, 2022 19:44 UTC (Mon)
by jra (subscriber, #55261)
[Link]
So we're already there on the language front. Now let's fix the filesystem API !
Posted Jan 24, 2022 20:10 UTC (Mon)
by rahulsundaram (subscriber, #21946)
[Link] (1 responses)
Hmm. systemd user services exist. GNOME is already using it by default and KDE, other projects are looking into this as well. So I am not sure how admin only symlinks are viable.
Posted Jan 24, 2022 20:30 UTC (Mon)
by jra (subscriber, #55261)
[Link]
Posted Jan 24, 2022 22:05 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link] (6 responses)
I'm using symlinks in all my projects in C++ to link build directories into the build cache, for example. And to link RPC schemas from a central module into consumers. There are no problems with symlinks when they are done within the same permission boundary.
Perhaps Samba should stop abusing the filesystem for its file server access control needs and grow its own storage?
Posted Jan 25, 2022 0:43 UTC (Tue)
by jra (subscriber, #55261)
[Link] (5 responses)
Posted Jan 25, 2022 0:55 UTC (Tue)
by Cyberax (✭ supporter ✭, #52523)
[Link] (4 responses)
Posted Jan 25, 2022 1:50 UTC (Tue)
by jra (subscriber, #55261)
[Link] (3 responses)
Posted Feb 10, 2022 19:49 UTC (Thu)
by nix (subscriber, #2304)
[Link] (2 responses)
Of course this is a distinctly niche usecase and I am weird as all hell for even considering it. :)
Posted Feb 10, 2022 22:56 UTC (Thu)
by Wol (subscriber, #4433)
[Link] (1 responses)
No mounts, no symlinks, sensible ACLs, ... I don't know whether or how it would have suffered from this sort of problem, but they do sound weird ...
Networking was nice and transparent - the only problem was that volume names needed to be unique across the network, and with a max length of six characters naming could be a problem :-) - but you just declared your disks at boot, and a declaration of "<LONDON> on westminster" meant that the volume LONDON would appear whenever system westminster was running.
Cheers,
Posted Feb 20, 2022 15:29 UTC (Sun)
by nix (subscriber, #2304)
[Link]
(This also saved my bacon in the past. When your main fileserver suffers multiple disk failures and its RAID is left degraded -- bloody awful 'enterprise' hard disks, shorter lifespan than any other disk I've ever used including cheap flash keys -- it's damn useful to be able to kick up a network block device on another system and remotely mount a spare block device of the right size to get your RAID un-degraded enough to be slightly safe for operation while you wait for another disk. Declaring your disks at boot is somewhat incompatible with that sort of emergency madness. Hardware RAID would probably hate it too. All praise to md etc.)
Posted Jan 25, 2022 0:12 UTC (Tue)
by nybble41 (subscriber, #55106)
[Link] (7 responses)
The same symlink-based interfaces systemd uses for system-level configuration are also used for user sessions and user services with configuration files and symlinks under ~/.config/systemd/user/, which are meant to be controlled by regular users, not admins. Remove the symlinks and you break KDE and Gnome login sessions, among other things. Besides systemd, Chrome and Firefox both keep symlinks in their configuration directories. Stack uses them in its versioned GHC installation. Steam needs them for its runtime (libraries, among other things). Wine uses symlinks in its user configuration directories (for drive letters, among other things). And of course there are many other less notable examples. All of these programs need symlinks which can be created and edited by ordinary users in their home directories.
>> Symlinks also appear in essential roles in core interfaces like /sys.
You can't usefully distinguish between filesystems which allow symlinks and filesystems which do not (for security reasons). /sys is well-bounded but your Samba shares may well be on the same filesystem as users' home directories, and you can't realistically limit symlinks there. Or in /etc (e.g. the Debian /etc/alternatives/ system is all based on symlinks, as is sysvinit for packages still using that). Or in the root (/bin -> /usr/bin) or in /usr (alternatives, aliased commands). And let's not forget the home directories, which are commonly exported as Samba shares. So Samba will just have to deal with it and support symlinks properly no matter where they may be found.
> Can't be done by mortal developers.
The fact that this issue in the Rust standard libraries has been resolved says otherwise. No one can guarantee perfectly bug-free code, of course, but it *is* possible to handle symlinks correctly. This CVE was never really a symlink issue in the first place. The minor symlink issue was easily dealt with in the original code by not following symlinks to directories. That part worked fine in a single-user, unshared environment. However, you can't just say "if (is_symlink(path)) { unlink(path); } else { recurse(path); }" in a shared filesystem without accounting for the fact that the entry at "path" can change. This is basic concurrency, made worse by the fact that you're sharing state with less privileged code. The same kind of bug could easily occur in other areas having nothing to do with symlinks, such as access checks. Developers have all the tools needed to avoid this issue (openat, fstat, unlinkat, fdopendir), at least on Linux—they just need to use them. As the new implementation does.
Posted Jan 25, 2022 0:40 UTC (Tue)
by jra (subscriber, #55261)
[Link] (3 responses)
We do now. Most applications don't. I'm including some system-level security libraries in that description. It would be nice to have a sandbox where user created symlinks are disallowed in order to run such applications safely.
> The fact that this issue in the Rust standard libraries has been resolved says otherwise.
I respectfully disagree.
https://www.cvedetails.com/google-search-results.php?q=sy...
6,760 results. Yes, some of them are for Samba. Hopefully not anymore.
Posted Jan 25, 2022 2:01 UTC (Tue)
by bmgordon (subscriber, #16077)
[Link] (2 responses)
Does MNT_NOSYMFOLLOW do what you're asking for? A mount with that flag can still contain symlinks, but they won't be followed. Chrome OS uses this when mounting partitions that can contain user-modifiable data, since it already doesn't have a history of allowing non-root users to create symlinks.
Posted Jan 25, 2022 2:41 UTC (Tue)
by jra (subscriber, #55261)
[Link] (1 responses)
Posted Jan 25, 2022 16:44 UTC (Tue)
by bmgordon (subscriber, #16077)
[Link]
I'm pretty sure it showed up in kernel 5.10 and util-linux 2.36.1.
Posted Jan 25, 2022 1:02 UTC (Tue)
by jra (subscriber, #55261)
[Link] (2 responses)
Tell that to the authors of:
Samba
and on, and on, and on (found by a casual perusal of the CVE site). But I expect you'll say all these authors just needed to be "more careful" :-).
When does a feature become too costly to support anymore ?
Posted Jan 25, 2022 16:54 UTC (Tue)
by nybble41 (subscriber, #55106)
[Link] (1 responses)
Are you going to list all the other non-symlink CVEs? Perhaps we should just give up on writing software altogether since no one writes bug-free code.
The fact that some projects have handled symlinks incorrectly in the past does not imply that it can't be done correctly.
> But I expect you'll say all these authors just needed to be "more careful" :-).
Well, yes. Most CVEs can be traced back to someone not being careful enough with their program's input, or not fully accounting for concurrency. If you're writing code which needs to accept input from, and perhaps share mutable data with, other untrusted processes then you need to be very careful indeed. There are lots of ways to mess this up. Symlinks are just one minor aspect to consider among many.
Posted Jan 25, 2022 21:57 UTC (Tue)
by jra (subscriber, #55261)
[Link]
No. My point was all these CVE's happened because of one filesystem "feature". That amount of damage means this is a feature that should be removed IMHO.
They are a security problem that doesn't need to happen. That's my point. The existence of symlinks has mangled the POSIX filesystem API beyond repair trying to deal with their damage. I would like to fix that (OK, so not exactly "beyond repair" :-).
Posted Jan 24, 2022 19:19 UTC (Mon)
by jra (subscriber, #55261)
[Link] (2 responses)
Posted Jan 24, 2022 22:06 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link] (1 responses)
We should just stop pretending that unrestricted code can ever be secure and start moving to sandboxes.
Posted Jan 25, 2022 0:41 UTC (Tue)
by jra (subscriber, #55261)
[Link]
Posted Jan 24, 2022 13:39 UTC (Mon)
by mathstuf (subscriber, #69389)
[Link] (1 responses)
Actually, most Unix boxes are multi-user given that Android uses per-app users. Even if that weren't the case, is this any reason to ignore the case once the vulnerability is found? And even without Android, there are still shared systems out there (HPC, university course-provided clusters, etc.).
Posted Jan 24, 2022 19:27 UTC (Mon)
by Wol (subscriber, #4433)
[Link]
Cheers,
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
> This nonsense has to go, it's a relic of the era when Unix was used on multi-user shared machines.
Rust 1.58.1 released
> Yes, theoretically it is now safe to write a symlink-safe application (not just with the new API's, there are Linux-specific tricks with /proc that must be done also - more details in my SambaXP talk :-).
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
The advisory says "macOS before version 10.10 (Yosemite)" is still vulnerable, so presumably Apple's excuse is the lack of a time machine to go back to before 2014.
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Just move the data, don't symlink it.
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
> I don't see any way to do this without ugly kernel patches.
Rust 1.58.1 released
Just move the data, don't symlink it.Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
- still easily accessible from the source tree?
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Wol
Rust 1.58.1 released
Rust 1.58.1 released
> Can you explain more ?
> /sys then is a filesystem that allows symlinks.
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
AutoVNF tool for the Cisco Ultra Services Framework
chkstat
salt (config system)
TP-Link Archer
mariadb
PHP
FortiClient for Mac
Google Chrome
zsh
portupgrade (FreeBSD)
mount.cifs
XFree86
Gnome Glib
npm
audiolink
systemd
cups
pstopdf
Mercurial
tin
sudo
docker
pear
exmh
gcc
Emacs
AMD fglrx-driver
deepin
glint
xmcd
Tarantella Enterprise
CDE ToolTalk
pine
pico
GNU screen
postfix
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Rust 1.58.1 released
Wol