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.
effected
Who could have predicted bootloader drm wouldn’t go well?
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?
When it is running in a modern, I.e. IPV6 network?
None of you have given any reason a private address space needs 6
Because there’s no such thing as private address spaces in IPv6.
If your ISP is IPv6 only, then you need to enable IPv6 for your local network too, which means that every device on your network gets an IPv6 address.
You can still have a private IPv4 as well, but if your remove the IPv6 support, then you lose access too the Internet.
When you want the private network to connect to a public IPv6 network
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.
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
It’s that necessarily a good thing?
I remember suddenly needing a firewall on my PC back in the days of the Blaster worm.
Do we really want all those crappy IoT devices open on all ports to the general internet?
NAT is not security. We aren’t talking about replacing friewalls.
I’d be fucked if I had to deal with IPv6 at home. Give me NAT, port forwarding and a dynamic public address that changes.
Slaac does everything for you. You get dynamic public addresses that change (you can disable if you please). Nothing to deal with, just open a firewall port if you want to receive traffic
I want static addresses on my LAN, and addresses I can remember and easily recognize in a list. And I don’t want my devices to have unique addresses outside my LAN, especially not static ones. NAT is great.
Only for the internet, not private space
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.
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”
PXE works on ipv4, did gobs of it over the years.
whoosh
Running matter/thread for safer IoT
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