Wow, it is surprising how awful every last bit of Zircon code reproduced here is. I have to guess the rest is about as bad. This dreck would never pass code review at my shop.
A Kernel Hacker Meets Fuchsia OS
51–60 of 296 posts
Re: A Kernel Hacker Meets Fuchsia OS
#52The people who work on fuchsia are very good engineers - I’ve worked with many of them in person. But the project itself has always been a staff retention project. It only existed to keep said engineers from going to a competitor. I don’t know how any understanding of fuchsia is possible without this crucial fact
Does that mean you don't believe it's going to replace Android/AOSP? It's in some Nest devices right now.
https://android-review.googlesource.com/q/fuchsia
What is more likely to happen is to replace Linux with the Fuchsia infrastructure.
Re: A Kernel Hacker Meets Fuchsia OS
#53I think the more interesting thing here is the fact that so much code in their repository appears to be bit-rotted or half baked, despite being documented. KASLR is mentioned all over the place but doesn't work and the answer is "we know, it's there only to stop it bit-rotting". You need to patch the system to do kernel debugging because otherwise the toolchain hangs. Syscalls are documented as enforcing security rul…
I think you are downvoted because you touch on the BLM/Asian Pacific stuff, which tickles people. But yeah you are also very right.
Re: A Kernel Hacker Meets Fuchsia OS
#54My takeaway from the article is that Fuchsia exposes a capability-based interface externally, but uses the old kind of privilege-checking inside the kernel. Once a single sloppy check was found, the game was over: a privilege escalation and planting of arbitrary code into the kernel followed. Did I miss anything?
That's why the bug says: "The overall impact of this bug is pretty minimal in our current set of supported products, since none support running untrusted native code, and if you can run your own code on the system, then (at present) you can also use other existing supported workflows to obtain kernel logs, but it does seem to be a useful stepping stone towards privilege escalation if you have already obtained code-exec in some process through another exploit."
So while not awesome, also not possible on a real device right now without a code-exec exploit.
Re: A Kernel Hacker Meets Fuchsia OS
#55Re: A Kernel Hacker Meets Fuchsia OS
#56I think the more interesting thing here is the fact that so much code in their repository appears to be bit-rotted or half baked, despite being documented. KASLR is mentioned all over the place but doesn't work and the answer is "we know, it's there only to stop it bit-rotting". You need to patch the system to do kernel debugging because otherwise the toolchain hangs. Syscalls are documented as enforcing security rul…
Let's not forget that Android didn't even have smooth 60fps scrolling until well into the 2010s.
Re: A Kernel Hacker Meets Fuchsia OS
#57The people who work on fuchsia are very good engineers - I’ve worked with many of them in person. But the project itself has always been a staff retention project. It only existed to keep said engineers from going to a competitor. I don’t know how any understanding of fuchsia is possible without this crucial fact
Does that mean you don't believe it's going to replace Android/AOSP? It's in some Nest devices right now.
Otherwise, why is Fuchsia already running the Chrome web browser? [0]
[0] https://9to5google.com/2022/03/04/full-google-chrome-browser...
Re: A Kernel Hacker Meets Fuchsia OS
#58Earlier quoted context omitted.
Not necessarily. The core idea of capabilities is more like having a URL to a Web page. Using the URL (the capability), you can access the contents of the page. Inside the contents, you can possibly find other URLs (more privileges granted to you). But the URL happens to be something like an UUID, or a short link; looking at it, you cannot derive another URL (discover another "capability", not granted to you). In oth…
Interesting. Is this in practice implemented as just capabilities being large numbers so it's impractical to guess them, or does the kernel have a table with all of a process's capabilities and when a message is sent to a process with capabilities the kernel adds them to the table? That is -- are capabilities just pieces of data in a message you can detect and try to use, or do they have to be added explicitly to a m…
We use (somewhat) large and non-dense numerical values for handle values to reduce the risk of accidental reuse of values.
Re: A Kernel Hacker Meets Fuchsia OS
#59Wow, it is surprising how awful every last bit of Zircon code reproduced here is. I have to guess the rest is about as bad. This dreck would never pass code review at my shop.
Re: A Kernel Hacker Meets Fuchsia OS
#60Very nice right up on how unfinished and insecure Fuchsia is as a result of it being so unfinished.
You start with something secure and rudimentary and add features over time.
You don't start with something unsecure and then add security to it.