|
 |
b1bd9f |
From 3dd024a28a98a9d4b4efc3c7ec6acaa94d2b25fd Mon Sep 17 00:00:00 2001
|
|
 |
b1bd9f |
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
|
|
 |
b1bd9f |
Date: Fri, 7 Jun 2019 14:04:07 +0100
|
|
 |
b1bd9f |
Subject: [PATCH] explictly exclude LibreLogo from XScript usage
|
|
 |
b1bd9f |
|
|
 |
b1bd9f |
Change-Id: I567647f0e2f8b82e4ef2995c673abe82f4564228
|
|
 |
b1bd9f |
Reviewed-on: https://gerrit.libreoffice.org/73708
|
|
 |
b1bd9f |
Tested-by: Jenkins
|
|
 |
b1bd9f |
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
 |
b1bd9f |
---
|
|
 |
b1bd9f |
sfx2/source/doc/objmisc.cxx | 13 +++++++++++++
|
|
 |
b1bd9f |
1 file changed, 13 insertions(+)
|
|
 |
b1bd9f |
|
|
 |
b1bd9f |
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
|
|
 |
b1bd9f |
index e245800f2fec..beea5170e44d 100644
|
|
 |
b1bd9f |
--- a/sfx2/source/doc/objmisc.cxx
|
|
 |
b1bd9f |
+++ b/sfx2/source/doc/objmisc.cxx
|
|
 |
b1bd9f |
@@ -1340,6 +1340,16 @@ namespace
|
|
 |
b1bd9f |
}
|
|
 |
b1bd9f |
}
|
|
 |
b1bd9f |
|
|
 |
b1bd9f |
+namespace {
|
|
 |
b1bd9f |
+
|
|
 |
b1bd9f |
+// don't allow LibreLogo to be used with our mouseover/etc dom-alike events
|
|
 |
b1bd9f |
+bool UnTrustedScript(const OUString& rScriptURL)
|
|
 |
b1bd9f |
+{
|
|
 |
b1bd9f |
+ return rScriptURL.startsWithIgnoreAsciiCase("vnd.sun.star.script:LibreLogo");
|
|
 |
b1bd9f |
+}
|
|
 |
b1bd9f |
+
|
|
 |
b1bd9f |
+}
|
|
 |
b1bd9f |
+
|
|
 |
b1bd9f |
ErrCode SfxObjectShell::CallXScript( const Reference< XInterface >& _rxScriptContext, const OUString& _rScriptURL,
|
|
 |
b1bd9f |
const Sequence< Any >& aParams, Any& aRet, Sequence< sal_Int16 >& aOutParamIndex, Sequence< Any >& aOutParam, bool bRaiseError, const css::uno::Any* pCaller )
|
|
 |
b1bd9f |
{
|
|
 |
b1bd9f |
@@ -1352,6 +1362,9 @@ ErrCode SfxObjectShell::CallXScript( const Reference< XInterface >& _rxScriptCon
|
|
 |
b1bd9f |
if ( bIsDocumentScript && !lcl_isScriptAccessAllowed_nothrow( _rxScriptContext ) )
|
|
 |
b1bd9f |
return ERRCODE_IO_ACCESSDENIED;
|
|
 |
b1bd9f |
|
|
 |
b1bd9f |
+ if ( UnTrustedScript(_rScriptURL) )
|
|
 |
b1bd9f |
+ return ERRCODE_IO_ACCESSDENIED;
|
|
 |
b1bd9f |
+
|
|
 |
b1bd9f |
bool bCaughtException = false;
|
|
 |
b1bd9f |
Any aException;
|
|
 |
b1bd9f |
try
|
|
 |
b1bd9f |
--
|
|
 |
b1bd9f |
2.21.0
|
|
 |
b1bd9f |
|