Security/Reviews/Gaia/SystemMessageHandler: Difference between revisions

Undo revision 641301 by Ptheriault (talk)
(Undo revision 641301 by Ptheriault (talk))
 
(6 intermediate revisions by 2 users not shown)
Line 10: Line 10:
=== Overview ===
=== Overview ===


 
=== Random Notes To Be Edited ===


Random notes, restructure:
Random notes, restructure:


This is tied to WebActivities. Should we cover that or should we limit this review to just the message passing/handling.
This is tied to WebActivities. Should we cover that or should we limit this review to just the message passing/handling.
Permission checking is done in dom/messages/SystemMessagePermissionsChecker.jsm
Who/what decides what messages a specific app is allowed to listen for?


Threads:
Threads:
Line 23: Line 27:
* Exploit faulty permission checks so that normal apps can send or receive messages
* Exploit faulty permission checks so that normal apps can send or receive messages
* Force a part of the software to emit messages
* Force a part of the software to emit messages
In Gecko, components can send system messages as follows:
dom/bluetooth/BluetoothUtils.cpp
105  nsCOMPtr<nsISystemMessagesInternal> systemMessenger =
106    do_GetService("@mozilla.org/system-message-internal;1");
107
108  if (!systemMessenger) {
109    NS_WARNING("Failed to get SystemMessenger service!");
110    return false;
111  }
112
113  systemMessenger->BroadcastMessage(aType, OBJECT_TO_JSVAL(obj));


=== Architecture ===
=== Architecture ===
Line 122: Line 140:
|b2g/chrome/content/dbg-webapps-actors.js || Webapps:AddApp || filterHardwareKeys() || broadcast
|b2g/chrome/content/dbg-webapps-actors.js || Webapps:AddApp || filterHardwareKeys() || broadcast
|-
|-
|dom/system/gonk/RadioInterfaceLayer.js || telephony-*, sms-*, ussd-received, icc-stkcommand || Radio Interface || broadcast
|gecko/dom/system/gonk/RadioInterfaceLayer.js || telephony-*, sms-*, ussd-received, icc-stkcommand || Radio Interface || broadcast
|}
|}


canmove, Confirmed users
1,220

edits