Even though we as consumers bear the ultimate responsibility when things go wrong (buyer beware, after all... you gotta vote with your dollars) there's some devices that have been bugging me lately. Actually, for a while now ;)
These device are network printers, especially HP and Canon. However, there are far too many vendors out there that will network-enable just about anything and then sell it, letting you drop it on your wire and then find out that it's a POS, and not robust at all.
Just last week we 'worked' with a vendor who makes a certain device that allows you to aggregate the control of Cisco switch consoles. Single point of management, if you will. And this device was flaky. The vendor's response? Essentially, it was "Please exclude our devices from scans. There is a known issue that they crash." WTF?
If you're going to make products targetted towards enterprise level customers, then it's time you start making them so they can handle enterprise level abuse.
We don't want to crash people's printers - that's a bad thing, considering that we pride ourselves on being as non-invasive as humanly possible. Trust me on this one: run Nessus against a pile of boxes (servers, PCs, printers, modems, IP phones, etc), then run IP360 against them. Not to slag Nessus; I love it, but there's a ton of crap and weak-ass checks in there ("Port open! You might be vulnerable!" or my favourite: send a bunch of stuff, then check to see if you crashed it. It crashed? You're vulnerable!). Now that it's not open anymore, and there's the additional pay for play angles, maybe it will stop sucking - can't fall back on free as an excuse now ;) It's a handy tool, but certainly not enterprise worthy. No QA on many of their checks, it would appear.
So when IP360, Nessus and nmap both knock something over, then you know you got a problem. But when you can crash an HP printer with a JetDirect card in it by using nothing more then telnet, then something's seriously wrong. And in this case, what is wrong is that HP did a HORRIBLE job. Someone needs to go back to embedded network device programming school. Canon to some degree as well, but I've been through a living hell trying to sort out the HP printer crash problems. Firmware upgrades, both JetDirect and printer, do make somewhat of a difference. But not enough. This is a shame, because HP printers are generally the most unix friendly ones out there, so I'd like to personally support them as much as I can.
I think this whole problem is rooted in the old hippy era of networks, you know, back when people used rexec, rsh and rhosts files. When you could trust people. But these ain't the days anymore, folks.
How about doing up a good stack and building in some kind of packet filtering so that you can whisper in the same room as things like these and not crash them? What are they running, WinCE?
At least Oracle doesn't make embedded network devices. I can only imagine how awful those would be. Especially if they had Sun's attitude towards people that try to help them fix problems.
[edit: I would like it to be known that I worked at HP for over 3 years, so I know of what I talk. I've also used Nessus extensively in the past and attempted to contribute to it.]