Hello friends, this is the first of two, possibly three (if and when I have time to finish the Windows research) writeups. We will start with targeting GNU/Linux systems with an RCE. As someone who’s
Entirely personal recommendation, take it or leave it: I’ve seen and attacked enough of this codebase to remove any CUPS service, binary and library from any of my systems and never again use a UNIX system to print. I’m also removing every zeroconf / avahi / bonjour listener. You might consider doing the same.
Great advice. It would appear these developers don’t take security seriously.
If your router/firewall is configured to let these broadcasts through you have a problem. If it is working correctly and you have an attacker on your lan? You have already lost.
Worse than the exploit, is hearing the struggles the author faced to report it
Twenty-two days of arguments, condescension, several gaslighting attempts, more or less subtle personal attacks, dozens of emails and messages, more than 100 pages of text in total. Hours and hours and hours and hours and fucking hours. Not to mention somehow being judged by a big chunk of the infosec community with a tendency of talking and judging situations they simply don’t know.
I mean, OK, it's a vulnerability and there are interesting implications, but this is hardly significant in any pracitcal sense of the word.
the potential victim has to run their system without a firewall, has to print to the printer they've never interacted with before and then the attacker can run shit with whatever the printing system's user id is, which shouldn't be an issue on any reasonably modern distro.
I routinely remove cups and friends from any system I run because I have no need for printing and it bothers me to see it constantly during every system upgrade.
I have cups (but not cups-browsed) installed, but I only start the service when I need to print something a few times a year.
Until then it is only a binary sitting in a folder, nothing more.
Yes, but exactly that was/is the issue of this bug. cups-browsed was attaching itself to every available IP on the system.
And cups-browsed can't only be bind to localhost, it would defeat the whole purpose of that tool. For it to be able to find other printers in the network it needs to be bound to a non-localhost-IP address.
So, not much to sandbox
cups-browsed <= 2.0.1 binds on UDP INADDR_ANY:631 trusting any packet from any source
Well that would explain why I didn't have it installed (although I did have other parts of cups until jwz coincidentally reminded us two days ago that it can all be removed if you don't have a printer.) I clear out anything that opens ports I don't need to be open. A practice I would recommend to anyone.
Done. This should not even be part of baseline Ubuntu desktop. Speaking for myself but I have not had a printer for about 15 years. The paperless office really did become reality.
I don't know if I would like to have my personal data that I needed to print out on any system in a print shop. Printers and Copy machines in print shops often have internal HDD where the files are stored for caching reasons, often for months or even years (depending of the size of the HDD and how much the device is used) until some internal cleanup process deletes them.