You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by ju...@apache.org on 2026/05/28 17:59:08 UTC

(jspwiki) branch master-2.x updated: Sanitize link parameter in Image plugin

This is an automated email from the ASF dual-hosted git repository.

juanpablo-santos pushed a commit to branch master-2.x
in repository https://gitbox.apache.org/repos/asf/jspwiki.git


The following commit(s) were added to refs/heads/master-2.x by this push:
     new a29b257d8 Sanitize link parameter in Image plugin
a29b257d8 is described below

commit a29b257d8249459632b28f85463c941ae36fa31a
Author: Juan Pablo Santos Rodríguez <ju...@gmail.com>
AuthorDate: Thu May 28 19:51:56 2026 +0200

    Sanitize link parameter in Image plugin
---
 jspwiki-main/src/main/java/org/apache/wiki/plugin/Image.java | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/Image.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/Image.java
index a47f81575..8fc4e6bd7 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/Image.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/Image.java
@@ -102,7 +102,7 @@ public class Image implements Plugin {
         final String wt      = getCleanParameter( params, PARAM_WIDTH );
         final String alt     = getCleanParameter( params, PARAM_ALT );
         final String caption = getCleanParameter( params, PARAM_CAPTION );
-        final String link    = getCleanParameter( params, PARAM_LINK );
+        String link          = getCleanParameter( params, PARAM_LINK );
         String target        = getCleanParameter( params, PARAM_TARGET );
         final String style   = getCleanParameter( params, PARAM_STYLE );
         final String cssclass= getCleanParameter( params, PARAM_CLASS );
@@ -173,6 +173,11 @@ public class Image implements Plugin {
         result.append( ">" );
 
         if( link != null ) {
+            if( !context.getBooleanWikiProperty( MarkupParser.PROP_ALLOWHTML, false ) ) {
+                if( link.startsWith( "data:" ) || link.startsWith( "javascript:" ) ) {
+                    link = "http://invalid_url" + link;
+                }
+            }
             result.append( "<a href=\"" ).append( link ).append( "\"" );
             if( target != null ) {
                 result.append( " target=\"" ).append( target ).append( "\"" );