Skip to content

LinkToMac 0.8.4

Choose a tag to compare

@grkndev grkndev released this 23 Jul 09:57
· 34 commits to main since this release

Android-only patch release. No Mac update — the Mac app stays 0.8.3, and there are no wire-protocol changes, so a 0.8.4 phone and any 0.8.x Mac remain fully compatible.

Android — security fix (#32)

The privileged clipboard daemon no longer reads content on another app's behalf (confused-deputy fix).

When you copy an image, the shell-UID clipboard daemon reads it off the clipboard using shell's elevated privilege — which can reach content providers a normal app can't (MediaStore, Contacts, …). A hostile app installed on the same phone could put a forged image/* clip on the clipboard pointing at content it has no permission to read, and have the daemon read those bytes and sync them to your Mac — a privilege-escalation leak.

The daemon now resolves which app placed the clip (getPrimaryClipSource) and reads the image only if that app could itself read the URI:

  • it holds an explicit URI grant / the provider's read-permission, or
  • it owns the backing provider (its own FileProvider), or
  • for MediaStore images, it holds a READ_MEDIA_* permission.

This blocks the escalation while leaving every legitimate copy (gallery, browser, screenshots) working. It fails closed — if the source can't be verified, the image is skipped and text sync is unaffected.

Install

  • Android (linktomac-preview-0.8.4.apk): sideload (dev-client style install; not Play-distributed). This changes native code, so it is not delivered as an EAS OTA update — reinstall the APK (or push it over adb), then force-restart the daemon (Daemon Log → Restart) so the new dex actually loads (a live daemon survives reinstall).
  • Mac: no update — stay on 0.8.3.