Most of their motherboards have IPMI with a separate a management port. A good number of them share IPMI management with the motherboard's primary ethernet port by default if nothing is plugged in to the management port. The motherboards have no way to configure them to NOT share the primary ethernet port beyond having the full stack of software needed to configure their IPMI.
What this means is that there're no jumpers one can change and no settings accessible in the BIOS that can force IPMI to stay on its own port, so if a BIOS gets reset, the battery dies or even just temporarily fails to provide power (like if it's being shipped by air and gets very cold), or you want to ship servers directly to a datacenter, the machine is 100% ownable on the public interface BY DEFAULT unless the management port is connected (and even then sometimes it decides to share the primary port - probably a function of link negotiation speed with the switch).
Sure, it's not a common occurrence, but it happens.
The solution for all the servers we already had deployed? We got ethernet loopback plugs for every one of them where the IPMI port wasn't already connected to a switch we administered.
A reasonable response: "Sure, that could be a problem sometimes. We can't change motherboards we already sold, but we'll bring this up with our design team so there'll be a jumper you can change so sharing will never happen, even with a reset BIOS."
Their response: "This isn't a security issue."
Root on another device on that public network would do, you could forge the necessary DHCP responses to get it configured with an IP address of your choosing. Non-root on another device on that network might also work, if it fails DHCP and self-configures on a 169.254 address, assuming it does that.
Is there an obvious way to exploit such an issue from beyond the public subnet?Every attack I can imagine would be blocked by either inbound firewalls, or a failure to reach the IPMI as an unexpected device on the public subnet. I suppose that it would be a possible risk if you have a DHCP server on that public subnet issuing IP addresses to all devices, but that seems like a larger risk anyways. Server networks should be static assigned or static DHCP in all cases.
I think you misunderstood the level of fucked up this really was. The BMC device sits on the north bridge and literally scoops up packets from the main NIC which means it can even be accessible from the internets (if you didn't firewall port 623). See [0] for an example how variation of this unfolded.
[0] - https://www.zdnet.com/article/over-47000-supermicro-servers-...
I ended up using a PCIE nic, which ipmi does not auto bridge to.
That still leaves very real things that've happened - the IPMI switches to the public interface and can no longer be reached on the managed local interface, and then you're rebooting several times in hopes it'll switch back and making aliases on a public interface to see if you can talk to it on the public segment. It's not professional at all.
The expected network port is plugged in, so even if your switch is checking MAC addresses, everything is in order. Most networks use DHCP, so the IPMI picks up an IP address. A student finds it with their port scan.
Most of your claims are false.
Super Micro has a utility to write the correct bits into EEPROM to disable this behaviour and stop the failover as default.
The utility was available years ago, prior to the time frame you state.
Any competent sysadmin would just build this into the deployment task sequence.
Second, "any competent sysadmin" would have to know that this exists. Super Micro's security team didn't know this existed, or if they did, they failed to mention it in their response.
But we're all Irish today and I'm in a particularly giving mood.
https://www.supermicro.com/Bios/sw_download/645/IPMICFG_User...
IPMICFG -lani 0
You're welcome.
(I do recall the syntax being a bit more cryptic, passing hex values, perhaps they've improved things since I last did this. Nevertheless, the capability has always been there.)
SuperMicro themselves not knowing this exists isn't surprising in the least.
See my comment about remembering the process to be rather cryptic (writing hex values to address offsets) but the capability WAS there.
Perhaps they added that switch recently to make it more user friendly.
And I believe you that you configured this pre-2022, but anyone could use the IPMI tools to configure this pre-2022 and pre- -lani option. You're trying to say it's in EEPROM, meaning it's invulnerable to battery loss. It definitely isn't.
The sideband feature also tends to be associated with an interface on the board that is considered the non dedicated IPMI "management" interface. Use one of the other onboard NIC ports or an PCI-E NIC like x550-T2, etc.