I doubt it would ever be prosecuted. It is important to remember that the law doesn’t mean what you think it means, it means what the average prosecutor and/or judge thinks it means. Those laws were invented for use against scary “hackers”, not printer manufacturers updating their own products
Applying updates without user consent is the evil part.
The only problem is the closed source drivers that could use it at any time.
I wonder if this is a way to install custom firmware. Probably not. I would guess that the code that decodes the firmware from the print job probably passes it through the same signature check code as the regular firmware update process.
Still it's an interesting route for exploit exploration.
The complexity is really in constructing the replacement firmware to drive the hardware correctly; developing that is probably easier if you dismantle the printer and find debug leads on the motherboard. Getting the common chips like networking going sounds doable, but for the actual printing there's lots of trade secrets around driving the actual printing hardware.
A more likely route: a Chinese factory should be able to make a smallish batch of cheap monochrome laser printers with good-enough print quality, publish badly-written but usable specs for it, and make it easy to replace the firmware.
I don't know if I'd be surprised or not to find out that you actually can't print from ios. It seems crazy to me, especially considering ipads, but the entire Apple ecosystem seems crazy to me and yet it exists despite my incredulity.
I could even print from webos and palm but I guess that doesn't matter now. 50/50 toss up if the current webos on lg tvs still has any printer drivers. But if there was still any webos printer drivers, they will not be open source and so you can not trust them not to do unwanted things to your printer some day.
If the blob is delivered in a ps package over https, or bluetooth, or via lpr or jetdirect makes no difference.
The point is that software you don't control generated the data and delivered it to the printer.
The same danger on Windows doesn't come from Microsoft. You download and install software from HP and it does the deed.
You could in theory write an open source driver that runs on windows and is safe. There are also old closed source drivers which just happen to be well behaved. Which is why I said "drivers you aren't 100% sure about".
On Android, depending on the version and distribution, there have been both pre-installed and user-installable printer drivers from hp and samsung and everyone else, pretty much just like on Windows. Even the pre-installed whichbare "part of the os" are written by the manufacturer not Google or AOSP. And just like Windows it is technically possible to write an open source driver that you can safely use and trust. Which again is why I said "drivers you aren't 100% sure about"
I don't "fear" anything. It is simply a fact that printers have an update mechanism that doesn't require the printer to have access to the internet, which is merely a print job.
And so if one wants, as the gggp comment did, to ensure that ones printer cannot be updated without ones deliberate instigation, one must also be aware of all possible sources of print jobs.
I don't know why you seem to have a problem with this. What scenario do you fear? In what way does this knowledge hurt you?
An update print job is just a blob of data that anything can squirt at the printer. A person doesn't need to press "print" anywhere, or do anything at all, or even know that it happened.
Any driver or application software that was written by the same people as the printers own firmware can do it all by itself any time it wants, for the same reasons that the printers own firmware does in fact already do it all by itself any time it wants.
I don't know why you find this so unbelievable.
Two seconds on kagi yields http://h10032.www1.hp.com/ctg/Manual/c06530233.pdf
"HP printing devices have the ability to accept firmware upgrades, solutions software and custom color table “bundles sent as a print job. The “Allow firmware updates sent as print jobs (Port 9100)” setting controls the ability for the printing device to accept firmware over the standard printing port, and also applies to firmware sent over all print-path methods including FTP, LDP, IPP(s), EWS Print page or Copy command."
(meaning that although the label on the setting in this particular printer's ui mentions "port 9100", it's not actually limited to jetdirect, the special print job is recognized no matter what path or protocol it took to arrive at the printer)
The printer doesn't care what physical connection or network protocol is used, including airprint, and in the case of ios, while you might be able to print some documents without using any software from HP, HP does still have a an "HP Smart" app (and probably others) for ios. Meaning that blocking the printer from the internet does not prevent the printer from receiving updates, and all of the closed-source platforms are the primary dangers as sources of update print jobs.
Technicall linux/bsd are not garanteed safe either. It's possible for a native linux app to send the same kind of update, but just far less likely without the users knowledge or intent.
You have to go pretty far out of your way to install non-repo software from a printer manufacturers web site, and actively grant it permission to install and activate services that run on their own... And even if you did that, if such software even existed that was not well-behaved, the first time it did that to a linux user that didn't expect it, we would all find out about it and every google search on the topic of linux drivers for that printer would warn about the bad software.
Or just no one would ever actually bother even looking to try to install it in the first place simply because the normal open source drivers and apps work well and the manufacturers software is a crazy mess.
I had a Samsung color laser printer that actually had linux software provided by Samsung that I actually installed just to check it out. HOLY SHITBALLS it was terrible both outwardly just using it as a user and behind the scenes how it was written. Just crazy utter garbage all around. That software, since it wasn't open source, might do anything on it's own just like a Windows driver, including sending a printer update, but it was such junk, and so not-needed, that no linux user ever installs it, so it does no harm even though it exists and could.