aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports/SkGlobalInitialization_chromium.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ports/SkGlobalInitialization_chromium.cpp')
-rw-r--r--src/ports/SkGlobalInitialization_chromium.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/ports/SkGlobalInitialization_chromium.cpp b/src/ports/SkGlobalInitialization_chromium.cpp
index 0f7d71b207..b3eb3aa743 100644
--- a/src/ports/SkGlobalInitialization_chromium.cpp
+++ b/src/ports/SkGlobalInitialization_chromium.cpp
@@ -61,6 +61,23 @@
#include "SkMatrixImageFilter.h"
#include "SkXfermodeImageFilter.h"
+// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+//
+// Adding new classes to Init() below has security consequences in Chrome.
+//
+// In particular, it is important that we don't create code paths that
+// deserialize untrusted data as SkImageFilters; SkImageFilters are sent from
+// Chrome renderers (untrusted) to the main (trusted) process.
+//
+// If you add a new SkImageFilter here _or_ other effect that can be part of
+// an SkImageFilter, it's a good idea to have chrome-security@google.com sign
+// off on the CL, and at minimum extend SampleFilterFuzz.cpp to fuzz it.
+//
+// SkPictures are untrusted data. Please be extremely careful not to allow
+// SkPictures created in a Chrome renderer to be deserialized in the main process.
+//
+// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
class SkPrivateEffectInitializer {
public:
static void Init() {