Please reply-to dev-weba...@lists.mozilla.org

Name of API: Open Web App API
Reference: https://developer.mozilla.org/en/OpenWebApps/The_JavaScript_API

Brief purpose of API: The Open Web Apps JavaScript API is a programmatic 
interface for installing Web apps and for managing a client-side collection of 
Web apps that a user has installed. 

General Use Cases: 
* Install an app - navigator.mozApps.install(url, [install_data]) 
* A web page can check if it is installed - navigator.mozApps.getSelf()
* Return a list of installed apps installed by this domain - 
navigator.mozApps.getInstalled()

Inherent threats: 
* Installation grants some minor additional privileges
* Access to install an app on another domain introduces risks 
* Privacy (users can be identified by list of apps)

Threat severity: Low for Installation API, High for Management API

== Regular web content (unauthenticated) ==
Use cases for unauthenticated code: Just the general cases as above.
Authorization model for normal content: Explicit for install (OS Mediated), 
Implicit for check status
Authorization model for installed content:Explicit for install (OS Mediated), 
Implicit for check status
Potential mitigations: getInstalled() only returns the apps installed by the 
current domain

== Trusted (authenticated by publisher) ==
Use cases for authenticated code: 
A "dashboard" can manage and launch Apps on the users behalf 
A "dashboard" can monitor the state of logged in applications
Authorization model: Implicit, execpt Remove App is Explicit (OS Mediated)
Potential mitigations: 

== Certified (vouched for by trusted 3rd party) ==
Use cases for certified code:  Same as trusted
Authorization model: Implicit
Potential mitigations:

Note: not sure if management functions belong in trusted or privileged.  This 
is probably a subject for discussion.

_______________________________________________
dev-security mailing list
dev-security@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-security

Reply via email to