How to gain code execution on hundreds of millions of people and popular apps
Incident handling and communication
- Many commenters praise ToDesktop for fixing the issue quickly after report, cooperating with the researcher, and publishing a detailed incident write‑up plus audits.
- The phrase “cannot happen again” draws heavy criticism as hubristic; several people argue no one can guarantee that, only that this exact bug is fixed. Others think it’s reasonable if “this” is narrowly defined as this architectural flaw.
- Some suggest more honest, non‑absolute language: explain current standards, how they compare to peers, and how the team will know when to improve them.
- A subset thinks the response was solid overall and that people are overreacting to wording and “enterprise speak.”
Root cause and technical concerns
- Core issue: the build container both (a) ran untrusted customer code (e.g.,
postinstallscript with a reverse shell) and (b) held high‑privilege Firebase credentials and signing/upload logic used across customers. - Commenters note this violates basic least‑privilege and “sacred” treatment of code‑signing and auto‑update infrastructure.
- Some question relying on logs to assert “no malicious use,” since privileged attackers could potentially tamper with logs; others counter that you must assume some parts of the infra were correctly isolated.
- ToDesktop says they re‑architected: separate privileged sidecar for signing/upload, reduced permissions, audits, etc. Some worry containers alone aren’t a strong enough isolation boundary.
Third‑party risk and auto‑update
- Strong debate on using a third‑party build/update platform at all, especially for security‑sensitive apps like IDEs. Critics call it “insane” to delegate signing and update control; defenders note cross‑platform signing/build is painful and such services fill a real need.
- Broader supply‑chain anxiety: deep dependency trees, postinstall scripts, sourcemaps exposing code and sometimes credentials, CI runners with outbound internet, and shared CDNs without integrity hashes.
- Several suggest: air‑gapped or network‑isolated builds, vendored dependencies, internal artifact proxies, and HSMs or offline (“shoebox”) keys for signing.
- Auto‑updaters are viewed by some as effectively granting RCE to vendors; a minority advocate no auto‑update at all and relying on OS/package managers, but others argue that’s impractical at scale.
Responsibility, liability, and ecosystem
- Disagreement over blame: some place it squarely on ToDesktop; others insist customers are also responsible for granting broad update/signing access and choosing risky architecture.
- Long subthreads argue for greater developer accountability (even licensing/certification) versus concerns about over‑regulation and unrealistic expectations.
- Firebase is discussed: some see repeated misconfigurations as partly a product‑design failure; others say insecure rules are clearly a developer responsibility.
Meta: article style
- Many readers enjoy the write‑up’s narrative “gonzo hacking” style and playful cat cursor; others find the moving cat and lack of capitalization distracting or hard to read.