Code execution as root via AT commands on the Quectel EG25-G modem (2021)
nns.ee
nns.ee
https://github.com/Biktorgj/pinephone_modem_sdk/releases
It still uses the ADSP from Quectel, but from my usage (and from other's reports), it is FAR more stable than the stock firmware. It is also immune to this vunerability (I don't even think it has atfwd_daemon).
AT+QLINUXCMD="/sbin/reboot" 03/04/2021 - Attempted to contact vendor
13/04/2021 - Vendor confirmed vulnerability
23/04/2021 - Vendor issued $2,000 bounty
24/04/2021 - Assigned ID CVE-2021-31698
08/09/2021 - Write-up published
Looks like at Pine it's treated as a "Don't fix", or at least it's on Qualcomm to release a new firmware: https://forum.pine64.org/showthread.php?tid=14935Of course Pine has to treat it as unfixable -- the modem is already an untrusted component out of the box, and the FCC (and peers) would never allow Pine to ship their own modem firmware.
To be clear, I think it's a lose/lose situation, because I want access to the modem in my pinephone, but I'd rather shell access require some kind of physical attestation (serial connection over the pogopins or something), instead of ... this.
For those with just the module, I believe at least some of these modems also have a root shell TTY exposed over RS232 on pins 11 & 12. (https://osmocom.org/projects/quectel-modems/wiki/EC25)
Also, if you really want to get creative, I think you can just dump the firmware, which is just normal Linux. So just dump it, mount the filesystem and make whatever changes you want then re-flash.
The quality and security of the software in these things is absolutely bottom tier.
As far as I know, only u-blox is producing their own SoC (albeit for cat-m/nb-iot only) all the others are using existing solutions from Qualcomm and others.
This is only scratching the surface. I did not talk about certification which is another beast altogether.