GeoServer's Style Publisher vulnerable to Stored Cross-Site Scripting (XSS)
Date: 2024-03
Affected: maven/org.geoserver:gs-ows, maven/org.geoserver:gs-main
Attack vector: xss
Category: vulnerability-disclosure
Severity: Medium
CVE: CVE-2024-23640
CWE: CWE-79
CVSS: 4.8 (CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N)

### Summary A stored cross-site scripting (XSS) vulnerability exists that enables an authenticated administrator with workspace-level privileges to store a JavaScript payload in uploaded style/legend resources or in a specially crafted datastore file that will execute in the context of another user's browser when viewed in the Style Publisher. Access to the Style Publisher is available to all users although data security may limit users' ability to trigger the XSS. ### Details _Give all details on the vulnerability. Pointing to the incriminated source code is very helpful for the maintainer._ ### PoC _Complete instructions, including specific configuration details, to reproduce the vulnerability._ ### Impact If an attacker can control a script that is executed in the victim's browser, then they can typically fully compromise that user. Amongst other things, the attacker can: 1 .Perform any action within the application that the user can perform. 2. View any information that the user is able to view. 3. Modify any information that the user is able to modify. 4. Initiate interactions with other application users, including malicious attacks, that will appear to originate from the initial victim user. ### References https://osgeo-org.atlassian.net/browse/GEOS-11149 https://github.com/geoserver/geoserver/pull/7162 https://osgeo-org.atlassian.net/browse/GEOS-11155 https://github.com/geoserver/geoserver/pull/7181


Mitigations:

Architectural layers (MAESTRO):