CVE-2022-3140: check impress/calc IFrame "FrameURL" target
authorCaolán McNamara <caolanm@redhat.com>
Tue, 6 Sep 2022 10:38:55 +0000 (11:38 +0100)
committerBastien Roucariès <rouca@debian.org>
Sat, 12 Aug 2023 19:58:29 +0000 (20:58 +0100)
similar to

commit c7450d0b9d02c64ae3da467d329040787039767e
Date:   Tue Aug 30 17:01:08 2022 +0100

    check IFrame "FrameURL" target

Conflicts:
xmloff/source/draw/ximpshap.cxx

Change-Id: Ibf28c29acb4476830431d02772f3ecd4b23a6a27
origin: https://github.com/LibreOffice/core/commit/50c9ae7573f5d63a7cdbcd2caea0d789e97c3a3f.patch

Gbp-Pq: Name 0074-CVE-2022-3140-check-impress-calc-IFrame-FrameURL-tar.patch

xmloff/source/draw/ximpshap.cxx

index 44218ceb0e25c801aaa6e6528c8b485eed061f2c..6dae1b00a8b95475ab8805c2e803cbb76fa151c0 100644 (file)
@@ -83,6 +83,7 @@
 #include <basegfx/polygon/b2dpolygontools.hxx>
 #include <basegfx/polygon/b2dpolypolygontools.hxx>
 #include <basegfx/vector/b2dvector.hxx>
+#include <tools/urlobj.hxx>
 #include <o3tl/safeint.hxx>
 
 #include <config_features.h>
@@ -3249,6 +3250,9 @@ void SdXMLFloatingFrameShapeContext::StartElement( const css::uno::Reference< cs
 
             if( !maHref.isEmpty() )
             {
+                if (INetURLObject(maHref).GetProtocol() == INetProtocol::Macro)
+                    GetImport().NotifyMacroEventRead();
+
                 xProps->setPropertyValue("FrameURL", Any(maHref) );
             }
         }