Merge pull request #452 from electron/fix-catalog-vuln
add patch to fix catalog vuln
This commit is contained in:
Коммит
db1b314c01
|
@ -0,0 +1,49 @@
|
|||
Several services require "app" capability from all other services
|
||||
(wildcard), which is in itself probably a Bad Thing; but it's
|
||||
especially bad now because the catalog service exposes module
|
||||
directory access through its app capability.
|
||||
|
||||
This changes the catalog manifest to move the capability to a
|
||||
different more specific capability, and updates two of its
|
||||
consumers.
|
||||
---
|
||||
|
||||
diff --git a/services/catalog/manifest.json b/services/catalog/manifest.json
|
||||
index 4fd82fd..4b31651 100644
|
||||
--- a/services/catalog/manifest.json
|
||||
+++ b/services/catalog/manifest.json
|
||||
@@ -9,7 +9,7 @@
|
||||
// build time or something. Same with service:service_manager.
|
||||
"service_manager:connector": {
|
||||
"provides": {
|
||||
- "app": [ "filesystem::mojom::Directory" ],
|
||||
+ "directory": [ "filesystem::mojom::Directory" ],
|
||||
"control": [ "catalog::mojom::CatalogControl" ]
|
||||
},
|
||||
"requires": {
|
||||
diff --git a/services/ui/manifest.json b/services/ui/manifest.json
|
||||
index 3e7df92..dfd2c55 100644
|
||||
--- a/services/ui/manifest.json
|
||||
+++ b/services/ui/manifest.json
|
||||
@@ -76,7 +76,7 @@
|
||||
},
|
||||
"requires": {
|
||||
"*": [ "app" ],
|
||||
- "catalog": [ "app" ],
|
||||
+ "catalog": [ "directory" ],
|
||||
"service_manager": [ "service_manager:all_users" ],
|
||||
"ui": [ "ozone" ],
|
||||
"viz": [ "viz_host" ]
|
||||
diff --git a/services/service_manager/service_manager.cc b/services/service_manager/service_manager.cc
|
||||
index f25a789..2d984f8 100644
|
||||
--- a/services/service_manager/service_manager.cc
|
||||
+++ b/services/service_manager/service_manager.cc
|
||||
@@ -1050,7 +1050,7 @@
|
||||
// TODO(beng): It'd be great to build this from the manifest, however there's
|
||||
// a bit of a chicken-and-egg problem.
|
||||
InterfaceProviderSpec spec;
|
||||
- spec.provides["app"].insert("filesystem::mojom::Directory");
|
||||
+ spec.provides["directory"].insert("filesystem::mojom::Directory");
|
||||
spec.provides["catalog:catalog"].insert("catalog::mojom::Catalog");
|
||||
spec.provides["control"].insert("catalog::mojom::CatalogControl");
|
||||
InterfaceProviderSpecMap specs;
|
Загрузка…
Ссылка в новой задаче