Live data from Hacker News

Local privilege escalation via execve()

freebsd.org

51–60 of 116 posts

Re: Local privilege escalation via execve()

#51

Earlier quoted context omitted.

> I'm not sure how or what you're counting. The recent two. FailCopy and DirtyFrag and FreeBSD with Execve. 2 - Linux 1 - FreeBSD. Of course, all OS have had past-time exploits. Three now have made the news.

Your question was "how many high profile privilege escalations Windows has had recently" then? I can't think of any, 0?

It was a sarcastic joke, never mind.

Re: Local privilege escalation via execve()

#52
post #13
post #7

Earlier quoted context omitted.

Plenty, Microsoft has security teams whose job is to attack Windows. Naturally they don't do blog posts about what they find.

You talk as if Windows is the only OS that has red teams attacking the system when clearly that isn’t even remotely true.

No, they're saying security work happens in the Windows world but not as much in the open, due to the closed source nature.

Re: Local privilege escalation via execve()

#53

Earlier quoted context omitted.

A not-insignificant chunk of the userbase of the various BSDs is there because they were turned off of Linux after controversial things like Gnome 3, systemd being shoved down users' throats despite being a broken mess, wayland (though nobody was as arrogant about wayland as Poettering was about systemd), etc. All that to say, the BSD userbase as a sizeable subset that are there for countercultural reasons, rather th…

I wouldn't call it countercultural. And Wayland actually runs on freebsd these days. I use Linux as well but I really like FreeBSD for a number of technical reasons. Like the ports collection, the jails, the first-class citizen ZFS. And Gnome 3 doesn't really have anything to do with Linux. It is also available for FreeBSD if you want it (I don't, I hate the minimalist opinionated design style so I use KDE, also on L…

> And Gnome 3 doesn't really have anything to do with Linux.

There's a very hard push on getting Gnome 3 aligned to systemd. Gnome is actually my preferred DE on Linux when I choose to use one. But compatibility with Unix systems is becoming harder every day.

Re: Local privilege escalation via execve()

#54
post #35

Earlier quoted context omitted.

Does this vulnerability not rely on SUID binaries?

I don't think so? It's a buffer overflow in the system call.

I just read that it was spilling into argv or something and assumed the vector was somehow injecting arguments or something.

Re: Local privilege escalation via execve()

#55
post #54

Earlier quoted context omitted.

I don't think so? It's a buffer overflow in the system call.

I just read that it was spilling into argv or something and assumed the vector was somehow injecting arguments or something.

The exploit is injecting environment variables, but yes, close enough. You need someone to call execve as root in order to become root, but you don't need a setuid binary.

Re: Local privilege escalation via execve()

#56

Earlier quoted context omitted.

I wouldn't call it countercultural. And Wayland actually runs on freebsd these days. I use Linux as well but I really like FreeBSD for a number of technical reasons. Like the ports collection, the jails, the first-class citizen ZFS. And Gnome 3 doesn't really have anything to do with Linux. It is also available for FreeBSD if you want it (I don't, I hate the minimalist opinionated design style so I use KDE, also on L…

> And Gnome 3 doesn't really have anything to do with Linux. There's a very hard push on getting Gnome 3 aligned to systemd. Gnome is actually my preferred DE on Linux when I choose to use one. But compatibility with Unix systems is becoming harder every day.

Yes even KDE recently introduced a new display manager that is completely tied to systemd. For that reason it's not supported on FreeBSD. But sddm still works of course. But it is a worrying precedent.

From the gnome team this was to be expected because they are beholden to RedHat/IBM and the other big distros who push systemd heavily. But from the KDE team I didn't.

I've stopped my monthly KDE donations for this reason. Just to send a message that this isn't ok.

Re: Local privilege escalation via execve()

#57
post #7

Earlier quoted context omitted.

Plenty, Microsoft has security teams whose job is to attack Windows. Naturally they don't do blog posts about what they find.

Local privilege escalation is largely irrelevant on Windows because basically no one uses it in a multi-user system, and application sandboxing is effectively nonexistent.

I get that multiple human users on a same machine is rare nowadays, and that per-app users were never a thing.

But windows still has a root and a lower privilege user. You typically need to click on "run as admin" to elevate privileges to, for example, alter system binaries.

Re: Local privilege escalation via execve()

#58
post #57

Earlier quoted context omitted.

Local privilege escalation is largely irrelevant on Windows because basically no one uses it in a multi-user system, and application sandboxing is effectively nonexistent.

I get that multiple human users on a same machine is rare nowadays, and that per-app users were never a thing. But windows still has a root and a lower privilege user. You typically need to click on "run as admin" to elevate privileges to, for example, alter system binaries.

I know that Chrome on Windows tries to lower its privileges to mitigate exploits, and although it's not very popular, the MS Store app platform does try to do full isolation of apps. So actually, per-app separation of users kinda does happen, or is attempted on Windows.

Re: Local privilege escalation via execve()

#59

  memmove(args->begin_argv + extend, args->begin_argv + consume,
      args->endp - args->begin_argv + consume);   // ← bug
C code like this is why we can't have nice things. Arithmetic operation in the arguments of a dangerous function call with no explicit bounds check.

Re: Local privilege escalation via execve()

#60

memmove(args->begin_argv + extend, args->begin_argv + consume, args->endp - args->begin_argv + consume); // ← bug C code like this is why we can't have nice things. Arithmetic operation in the arguments of a dangerous function call with no explicit bounds check.

"I just don't write bugs"

Yeah.

Post reply on HN