Location messages load an OpenStreetMap iframe with no facade or auto-load gate #66

Closed
opened 2026-09-12 01:51:23 -04:00 by jared · 0 comments
Owner

Severity: low · Type: security · Confidence: high

Location: src/app/components/message/MsgTypeRenderers.tsx:634-680

Problem

every other third-party embed in the client uses a click-to-play facade specifically so no
request reaches the provider before the user opts in, and image/video content honours mediaAutoLoad.
MLocation takes neither: as soon as an m.location event scrolls into view it mounts an
openstreetmap.org iframe. A remote sender can therefore use a location message as a read-beacon —
the recipient's IP and approximate view time are disclosed to a third party the moment they open the
room, with no interaction.

How to trigger

send an m.location event to a room; the recipient's browser hits www.openstreetmap.org on render.

Suggested fix

render the coordinates + "Open location" button by default and mount the map iframe only
after a click (reuse the existing embed facade), or gate it behind the mediaAutoLoad setting.


Filed from the September 2026 client audit (branch lotus @ 4bea4895).

**Severity:** low · **Type:** security · **Confidence:** high **Location:** `src/app/components/message/MsgTypeRenderers.tsx:634-680` ### Problem every other third-party embed in the client uses a click-to-play facade specifically so no request reaches the provider before the user opts in, and image/video content honours `mediaAutoLoad`. `MLocation` takes neither: as soon as an `m.location` event scrolls into view it mounts an `openstreetmap.org` iframe. A remote sender can therefore use a location message as a read-beacon — the recipient's IP and approximate view time are disclosed to a third party the moment they open the room, with no interaction. ### How to trigger send an `m.location` event to a room; the recipient's browser hits `www.openstreetmap.org` on render. ### Suggested fix render the coordinates + "Open location" button by default and mount the map iframe only after a click (reuse the existing embed facade), or gate it behind the `mediaAutoLoad` setting. --- _Filed from the September 2026 client audit (branch `lotus` @ 4bea4895)._
jared added this to the Audit 2026-09 · Medium & Low milestone 2026-09-12 01:51:23 -04:00
jared added the bugpriority: lowsecurityarea: messaging labels 2026-09-12 01:51:23 -04:00
jared self-assigned this 2026-09-12 01:51:23 -04:00
jared closed this issue 2026-09-12 20:29:02 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/cinny#66