Headline
CVE-2022-41905: Merge pull request from GHSA-xx6g-jj35-pxjv · mar10/wsgidav@e9606ab
WsgiDAV is a generic and extendable WebDAV server based on WSGI. Implementations using this library with directory browsing enabled may be susceptible to Cross Site Scripting (XSS) attacks. This issue has been patched, users can upgrade to version 4.1.0. As a workaround, set dir_browser.enable = False
in the configuration.
@@ -10,7 +10,7 @@ from fnmatch import fnmatch from urllib.parse import unquote
from jinja2 import Environment, FileSystemLoader from jinja2 import Environment, FileSystemLoader, select_autoescape
from wsgidav import __version__, util from wsgidav.dav_error import HTTP_MEDIATYPE_NOT_SUPPORTED, HTTP_OK, DAVError @@ -73,7 +73,7 @@ def __init__(self, wsgidav_app, next_app, config):
# Prepare a Jinja2 template templateLoader = FileSystemLoader(searchpath=self.htdocs_path) templateEnv = Environment(loader=templateLoader) templateEnv = Environment(loader=templateLoader, autoescape=select_autoescape()) self.template = templateEnv.get_template(“template.html”)
def is_disabled(self):
Related news
### Impact Implementations using this library with directory browsing enabled may be susceptible to [Cross Site Scripting (XSS)](https://owasp.org/www-community/attacks/xss/) attacks. ### Patches Users can upgrade to v4.1.0 ### Workarounds Set `dir_browser.enable = False` in the configuration. For instance, when using a Python dictionary to configure the library: ``` config = { # your normal configuration "dir_browser": { "enable": False }, } app = WsgiDAVApp(config) ``` ### For more information Note that an attacker cannot exploit this vulnerability, by simply uploading a file or folder with a manipulated file name. However if the WsgiDAV library is used in a scenario where untrusted data is displayed in the directory browser's user interface (e.g. 'realm' or user name, ...) XSS may happen. If you have any questions or comments about this advisory: * Open an issue in [mar10/wsgidav](https://github.com/mar10/wsgidav/) * See the [security policy](https://github....