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

olamy pushed a commit to branch archiva-2.x
in repository https://gitbox.apache.org/repos/asf/archiva.git


The following commit(s) were added to refs/heads/archiva-2.x by this push:
     new d62e81c7e better testing of characters
d62e81c7e is described below

commit d62e81c7e75f617cf01d2a75952a2c857758f8c4
Author: Olivier Lamy <[email protected]>
AuthorDate: Tue Mar 14 16:51:46 2023 +1000

    better testing of characters
    
    Signed-off-by: Olivier Lamy <[email protected]>
---
 .../archiva/web/api/DefaultFileUploadService.java  | 29 ++++++++++++++--------
 1 file changed, 19 insertions(+), 10 deletions(-)

diff --git 
a/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/api/DefaultFileUploadService.java
 
b/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/api/DefaultFileUploadService.java
index 83b3a3e6f..7bdf53ab3 100644
--- 
a/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/api/DefaultFileUploadService.java
+++ 
b/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/api/DefaultFileUploadService.java
@@ -262,6 +262,15 @@ public class DefaultFileUploadService
         if (checkString.contains("/..")) {
             return false;
         }
+        if (checkString.contains("<")) {
+            return false;
+        }
+        if (checkString.contains(">")) {
+            return false;
+        }
+        if (checkString.contains("&")) {
+            return false;
+        }
         return true;
     }
 
@@ -280,11 +289,11 @@ public class DefaultFileUploadService
                          boolean generatePom )
         throws ArchivaRestServiceException
     {
-        repositoryId = StringEscapeUtils.escapeJavaScript( StringUtils.trim( 
repositoryId ) );
-        groupId = StringEscapeUtils.escapeJavaScript( StringUtils.trim( 
groupId ) );
-        artifactId = StringEscapeUtils.escapeJavaScript( StringUtils.trim( 
artifactId ) );
-        version = StringEscapeUtils.escapeJavaScript( StringUtils.trim( 
version ) );
-        packaging = StringEscapeUtils.escapeJavaScript( StringUtils.trim( 
packaging ) );
+        repositoryId = StringEscapeUtils.escapeHtml( StringUtils.trim( 
repositoryId ) );
+        groupId = StringEscapeUtils.escapeHtml( StringUtils.trim( groupId ) );
+        artifactId = StringEscapeUtils.escapeHtml( StringUtils.trim( 
artifactId ) );
+        version = StringEscapeUtils.escapeHtml( StringUtils.trim( version ) );
+        packaging = StringEscapeUtils.escapeHtml( StringUtils.trim( packaging 
) );
 
         checkParamChars("repositoryId", repositoryId);
         checkParamChars("groupId", groupId);
@@ -378,11 +387,11 @@ public class DefaultFileUploadService
 
             ManagedRepository repoConfig = 
managedRepositoryAdmin.getManagedRepository( repositoryId );
 
-            repositoryId = StringEscapeUtils.escapeJavaScript( 
StringUtils.trim( repositoryId ) );
-            groupId = StringEscapeUtils.escapeJavaScript( StringUtils.trim( 
groupId ) );
-            artifactId = StringEscapeUtils.escapeJavaScript( StringUtils.trim( 
artifactId ) );
-            version = StringEscapeUtils.escapeJavaScript( StringUtils.trim( 
version ) );
-            packaging = StringEscapeUtils.escapeJavaScript( StringUtils.trim( 
packaging ) );
+            repositoryId = StringEscapeUtils.escapeHtml( StringUtils.trim( 
repositoryId ) );
+            groupId = StringEscapeUtils.escapeHtml( StringUtils.trim( groupId 
) );
+            artifactId = StringEscapeUtils.escapeHtml( StringUtils.trim( 
artifactId ) );
+            version = StringEscapeUtils.escapeHtml( StringUtils.trim( version 
) );
+            packaging = StringEscapeUtils.escapeHtml( StringUtils.trim( 
packaging ) );
 
             ArtifactReference artifactReference = new ArtifactReference();
             artifactReference.setArtifactId( artifactId );

Reply via email to