A few months ago, Zoom caught a lot of attention for running a local webserver in the background after installing their desktop app. They did this to avoid the "Do you want to open this link in Zoom" prompt that appears in most web browsers.
Figma's desktop app does the same thing. When opening a link to a
Figma document, the webapp will make a call to
https://figmadaemon.com:44960/figma/desktop/can-open-url
with userID
and url
parameters. If it
determines that it can in fact open the url, then the webapp will make a
call to
https://figmadaemon.com:44960/figma/desktop/open-url
with
the same parameters.
After some quick investigation, it turns out this
figmadaemon.com
resolves to 127.0.0.1
.
$ dig +noall +answer figmadaemon.com
figmadaemon.com. 21599 IN A 127.0.0.1
I haven't explored an attack vector using this but will be looking into it. I did quickly check that a definitely-not-figma url would open the application. In this case:
/can-open-url
returns
{ "canOpen": false }
/open-url
returns { "opened": false }
I firmly believe that all applications that run local web servers like this should: