Top
Best
New

Posted by DamnInteresting 11 hours ago

Code-execution flaw in UEFI firmware threatens most servers on planet Earth(arstechnica.com)
120 points | 45 comments
FrasiertheLion 4 hours ago|
We recently wrote about moving away from OVMF (~1M lines of C) to very minimal and hyperspecific firmware (300 lines of assembly)[1] for our specific confidential VM machine targets, and the idea that "popular" does not automatically mean "secure". You can point an LLM at any large codebase and it will find vulnerabilities, so "patch the planet" isn't very scalable. You can instead just write hyperspecific, small codebases and throw all the security practices at it - like LLMs (economical if it's small), fuzzing, formal methods etc.

[1] https://tinfoil.sh/blog/2026-10-25-less-is-more

Maxion 1 hour ago||
I've been thinking similarly, that we're quickly going to want to start minimising dependencies and code size in the programs we make to try to reduce attack surface area.
apimade 15 minutes ago||
Do one thing, and do it well.

The unix philosophy prevails!

snvzz 12 minutes ago|||
>You can point an LLM at any large codebase and it will find vulnerabilities, so "patch the planet" isn't very scalable.

So the solutions need to be structural.

e.g. relative to a monolith kernel, seL4 is small, has no known bugs (AI can try, but so far crickets) and is the only piece that needs to run privileged.

Everything running under seL4 benefits from the guarantees seL4 provides.

getcrunk 2 hours ago||
Yea I really like this idea.

We need a clean start. A lot of layers can and should be rebuilt, and even if you do it without reducing functionality, I feel like in a lot of cases like we’ll be able to cut down the code significantly.

When I explain software bloat to non technical people, I say imagine you built a 10 story building, but every few years it was a story at a time with the renovations along the way.

Like there’s gonna be a lot of inefficiencies. Yea I know we refactor. But doing a clean slate rebuild. Knowing exactly what you need based on real world experience, it should work to really streamline stuff.

hn_submit 2 hours ago||
I've always been downright suspicious of the creation of UEFI. It executes code before the operating system but doesn't really provide a hardware abstraction layer like BIOS does. Most operating system don't use BIOS or any other software layer and configure the hardware themselves. Why is it there then?

And unlike BIOS which is relatively small UEFI is "full-fat" almost the size of an operating system itself. It can even run its own applications.

The 1 million lines of C code comprising UEFI are riddled with bugs and this is just one of them. No doubt LLMs will be able to uncover a lot more of them.

yjftsjthsd-h 27 minutes ago||
> It executes code before the operating system but doesn't really provide a hardware abstraction layer like BIOS does.

Yes it does? If anything, it provides way more; a .efi program can use firmware services to load files and print text. There's like 80% of a DOS in there.

> Most operating system don't use BIOS or any other software layer and configure the hardware themselves. Why is it there then?

Because we still want enough functionality to load the OS in the first place, which means e.g. nvme drivers, Ethernet drivers (for netboot), keyboard input and some display output (to let a user pick what to load), and of course filesystem drivers because loading an OS/bootloader from a single shared MBR was awful.

mjg59 2 hours ago|||
> doesn't really provide a hardware abstraction layer like BIOS does

I'm not really sure what this means. UEFI provides a consistent interface to access storage devices, network devices, input devices, and access to a framebuffer. How else would bootloaders work?

imoverclocked 2 hours ago||
Well, looking at the mess that is most arm/arm64 SBCs, I understand why it’s nice to have a standard interface that can run (eg) grub. Can UEFI be much smaller? Also yes.
yjftsjthsd-h 25 minutes ago||
I think uboot is kinda doing that?
DamnInteresting 11 hours ago||
> There are important caveats and limitations to exploiting this latest vulnerability. As noted, some level of control over a local network is a prerequisite. That likely limits exploitation to insiders or attackers, such as nation-states or ransomware operators, who manage to gain low-level access inside a network and are looking for a way to elevate system rights.
bediger4000 10 hours ago|
This one seems weird. PXE-boot is such a fragile process in and off itself this doesn't strike me as end-of-the-world. If an attacker has enough presence on your network to send a targeted ICMP packet, they almost certainly could also fool around with your PXE-booting servers some other way.
michaelt 21 minutes ago|||
Yes - all the times I've seen PXE boot used, the usage has been "Hold F12 during boot to reformat the disk and re-install the OS from scratch"

Which is something that happens inside a trust boundary. After all, if an untrusted third party gets to install your OS it's game over, UEFI bug or not.

And consumer devices often don't have a network card - or come with PXE disabled in the BIOS.

mjg59 2 hours ago||||
Yeah I'm actually not terribly worried about the server scenario, but having a way to get code exec in the firmware lets you defeat measured boot, which means this is a Bitlocker bypass in the default config.
reorder9695 9 minutes ago||
Would this mean any TPM based decryption keys could potentially be compromised in this kind of attack? E.g. when they're used for LUKS disk encryption.
octoberfranklin 6 hours ago||||
Yeah but that just lets them replace the OS that gets booted.

This gives the attacker access at the UEFI level and above -- they can use it to produce false attestations.

vintermann 2 hours ago||
Do any of the locked down consoles or phones use a vulnerable UEFI implementation by any chance?
mschuster91 40 minutes ago||
Phones most commonly use their own bootloader stack.
mjg59 32 minutes ago||
UEFI is pretty common on phones now, but it's unlikely that any of them are running this network stack there.
yjftsjthsd-h 22 minutes ago||
Is it? I'd like a UEFI phone booting GNU/Linux but last I looked it was a bunch of hacky aftermarket firmwares.

PS your profile links a blog that says you moved

amluto 6 hours ago|||
Except that a sensible deployment of PXE boot would also have the servers attest to their state prior to giving them any secrets. This vulnerability breaks this workflow.
verandaguy 3 hours ago||
The astronauts on the ISS must be breathing a sigh of relief, I imagine.
DeepSeaTortoise 5 minutes ago|
They almost had a cybercriminal up there. Too bad it was all made up and the position of the first ever space criminal is back up for grabs.
Frieren 30 minutes ago||
And this is the reason why we need datacenters in space.
N_Lens 6 minutes ago|
I'd argue datacenters in Space implies datacenters outside of Space.
mischanix 4 hours ago||
How is this a 9.5 if php2shell was a 9.2?
gnabgib 4 hours ago||
The PHP CVS were originally reported as perfect 10s and in theory allow remote access (practically all of the internet). This requires physical hardware access (practically 0 of the internet).

Those original PHP 10s were negotiated down into a 9.2 by disclosure.. so maybe this'll be an 8.7 soon.

merb 1 hour ago||
Well because some php configurations had an absurdly low default max upload size, which made the rce way harder. Plesk for example ships with 2m for some reason.
dns_snek 41 minutes ago||
The fact that a subset of systems are in a less vulnerable configuration doesn't have any bearing on the CVSS score.

> Specific configurations should not impact any attribute contributing to the CVSS Base metric assessment , i.e., if a specific configuration is required for an attack to succeed, the vulnerable system should be assessed assuming it is in that configuration. [1]

For a vulnerability to score a 10 its Attack Complexity must be 'Low' (broadly speaking: it doesn't require target-specific customizations or mitigations [1]), which isn't the case with php2shell.

Here's a breakdown of that 9.2: https://www.first.org/cvss/calculator/4.0#CVSS:4.0/AV:N/AC:H...

[1] https://www.first.org/cvss/v4.0/specification-document#Attac...

loeg 18 minutes ago|||
CVSS scores are essentially meaningless. Don't read anything into it.
verandaguy 3 hours ago|||
CVSS is an imperfect system. Most of the time it gets the idea of how severe an issue is across, but once you go above an 8, maybe an 8.5, there are some perverse incentives at play. Even with newer versions of the framework coming out over the years, there have always been gaps.

Even before AI, there was prestige in being able to say that you (or your team) found a 9.2 in some major piece of software. You could put that on your resume in some specializations.

Now with AI vulnerability scanning being so hyper-commercialized (but not yet fully commoditized), this is cranked way up since there are more monied interests involved, and many of them are probably trying to make a quick buck before LLM-based vulnerability scans are a commodity (for better or worse).

phoe-krk 2 hours ago|||
Check it yourself: paste CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H into a CVSS analyser and read the descriptions of the related categories.
jacquesm 4 hours ago||
They can't really call it a 12...
moi2388 2 hours ago||
“These go to eleven”
dustfinger 2 hours ago||
Fools! That is why I don't keep my servers on the planet Earth. Mua ha ha ha ha....
croes 53 minutes ago||
Aah, that‘s why Musk wants space datacenters
More comments...