Konrad Windszus created FELIX-6585:
--------------------------------------

             Summary: WebConsole Bundle Install via POST uses a location which 
is prone to clashes
                 Key: FELIX-6585
                 URL: https://issues.apache.org/jira/browse/FELIX-6585
             Project: Felix
          Issue Type: Bug
          Components: Web Console
    Affects Versions: webconsole-4.8.4
            Reporter: Konrad Windszus


When installing a bundle via the WebConsole bundle endpoint at 
https://github.com/apache/felix-dev/blob/d55c61712b2bc6ceaa554d1cf99609990355aa4f/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/BundlesServlet.java#L352
 it always sets the bundle location to the filename of the multipart file POST 
request.

As that is usually stripped to the filename only by browsers (and does not 
contain the full path, 
https://commons.apache.org/proper/commons-fileupload/apidocs/org/apache/commons/fileupload/FileItem.html#getName--)
 this is not a very good identifier and the risk for clashes is pretty high.

In case the used BSN is unique the following code is executed: 
https://github.com/apache/felix-dev/blob/d55c61712b2bc6ceaa554d1cf99609990355aa4f/webconsole/src/main/java/org/apache/felix/webconsole/internal/core/InstallHelper.java#L56
This will overwrite a bundle with the same location.

It would make sense to pick a more unique location value instead of the name.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to