New UEFI vulnerabilities send firmware devs industry wide scrambling

Leo@lemmy.linuxuserspace.show to Technology@lemmy.world – 210 points –
New UEFI vulnerabilities send firmware devs industry wide scrambling
arstechnica.com
25

Not at all surprised, motherboard firmware from most vendors has always been a steaming pile of shit code, often not even built to spec.

The nine vulnerabilities that comprise PixieFail reside in TianoCore EDK II, an open source implementation of the UEFI specification. The implementation is incorporated into offerings from Arm Ltd., Insyde, AMI, Phoenix Technologies, and Microsoft. The flaws reside in functions related to IPv6, the successor to the IPv4 Internet Protocol network address system. They can be exploited in what’s known as the PXE, or Preboot Execution Environment, when it’s configured to use IPv6.

Not all hardware manufacturers are effected and it's based on a specific open source implementation of UEFI.

Aren't AMI, Insyde and Phoenix providers for 98% of PC (be it board or OEM) vendors though?

And AFAIR, TianoCore is basically used everywhere by everyone as a base except maybe Apple.

You may be right, I didn't think those three were that much of the market, but maybe I'm wrong.

I thought Tiano was a reference UEFI developed by Intel? So I'm not entirely sure its used by AMD, but maybe it is?

EDK and EDK II are open source projects that spun off of that reference developed by Intel.

I suppose the main thing I was trying to get across is that OP seemed to be blaming motherboard manufacturers for bad code... but this is the base open source code that is causing the issues, prior to implementation by motherboard manufacturers. Hence why it impacts so many.

I am pretty sure TianoCore is also used by AMD systems as a reference as well.

Here's a similar situation that happened in 2019 at Lenovo's site

https://support.lenovo.com/cl/es/solutions/LEN-22660

AMD systems are listed as well.

As for most board vendors nowadays, I think they barely do anything with the code itself and just create the setup utility and boot logos. It is highly likely that they're affected too.

Short for Unified Extensible Firmware Interface, UEFI is the low-level and complex chain of firmware responsible for booting up virtually every modern computer.
The flaws reside in functions related to IPv6, the successor to the IPv4 Internet Protocol network address system. They can be exploited in what’s known as the PXE, or Preboot Execution Environment, when it’s configured to use IPv6.

and : https://en.m.wikipedia.org/wiki/UEFI

... UEFI (Unified Extensible Firmware Interface) replaces the BIOS (Basic Input Output Software) which was present in the boot ROM (Read Only Memory) of all personal computers ...

When does a machine ever need IP6?

Ipv6 is the replacement for ipv4. There now exist networks without ipv4

To expand on this, we have functionally ran out of IPv4 addresses. Meaning IPv6 addresses are required.

Not only that, but ipv6 makes networking easier and less complicated. No longer, needing port forwarding or NAT, amongst other improvements

No shit.

But a private Lan will never need it.

There are 4 billion+ possible IP v4 addresses, nearly 600 million in the current private range.

Show me a private network with 600 million devices.

There's no reason a device that doesn't have a direct internet connection needs IP6.

Ideally, using just IP6 would be simpler, as every device gets a global address. Then you don't need to mess with NAT, port forwarding and all that bullshit. Every device having multiple addresses just complicates things.

A device on your private IPv4 network can send packets directly to 104.21.36.127 via NAT. How will it send packets to 2606:4700:3033::6815:247f? There's not enough space in the IPv4 header.

A lot of the world, especially Africa and south America, was somewhat later in adopting the Internet and has a much smaller supply of IPv4 addresses. People with ISPs there need IPv6 to be directly connectable without CGNAT

For private address space you never need 6.

If you want to be able to connect to IPv6 services in the Internet you do.

PXE, or network boot. It is basically never used (and rarely enabled, if ever, by default) by the individual, but can be helpful in, for example, a large scale OS deployment. Say IT has to get their corporate image version of Windows 10/11 installed on 30 new laptops. They could write a ton of flash drives, but it'd be easier to just host a PXE boot server and every laptop just listen to them.

V6 specifically in that instance would just be for the reason of "we need to move away from v4 anyways"

This is the best summary I could come up with:


The vulnerabilities, which collectively have been dubbed PixieFail by the researchers who discovered them, pose a threat mostly to public and private data centers and possibly other enterprise settings.

People with even minimal access to such a network—say a paying customer, a low-level employee, or an attacker who has already gained limited entry—can exploit the vulnerabilities to infect connected devices with a malicious UEFI.

By installing malicious firmware that runs prior to the loading of a main OS, UEFI infections can’t be detected or removed using standard endpoint protections.

The malicious image in this scenario will establish a permanent beachhead on the device that’s installed prior to the loading of the OS and any security software that would normally flag infections.

This kind of access may be possible when someone has a legitimate account with a cloud service or after first exploiting a separate vulnerability that gives limited system rights.

When the client-{based server] boots, the attacker just needs to send the client a malicious packet in the [request] response that will trigger some of these vulns.


The original article contains 703 words, the summary contains 177 words. Saved 75%. I'm a bot and I'm open source!

"See?? I knew our project to transition to IPv6 was a security issue." -Network