{"id":"CVE-2024-23640","aliases":["EUVD-2024-0889","GHSA-9rfr-pf2x-g4xf"],"status":"published","title":"GeoServer Stored Cross-Site Scripting (XSS) vulnerability in Style Publisher","description":"GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. A stored cross-site scripting (XSS) vulnerability exists in versions prior to 2.23.3 and 2.24.0 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. Versions 2.23.3 and 2.24.0 contain a fix for this issue.","severity":{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.00426,"percentile":0.37171,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2024-03-20T15:06:03Z","modified":"2026-10-28T02:31:13Z","fixes":[{"ecosystem":"Maven","package":"org.geoserver:gs-main","fixed_in":["2.23.3"],"sources":["ghsa","osv"]},{"ecosystem":"Maven","package":"org.geoserver:gs-ows","fixed_in":["2.23.3"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Maven","package":"org.geoserver:gs-main","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.23.3"}]}]},{"source":"ghsa","ecosystem":"Maven","package":"org.geoserver:gs-ows","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.23.3"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.geoserver:gs-main","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.23.3"}]}]},{"source":"osv","ecosystem":"Maven","package":"org.geoserver:gs-ows","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.23.3"}]}]}],"products":[{"vendor":"geoserver","product":"geoserver"}],"references":[{"url":"https://github.com/geoserver/geoserver/security/advisories/GHSA-9rfr-pf2x-g4xf","tags":["x_refsource_CONFIRM","x_transferred","Vendor Advisory","advisory","web"]},{"url":"https://github.com/geoserver/geoserver/pull/7162","tags":["x_refsource_MISC","x_transferred","Issue Tracking","fix","web"]},{"url":"https://github.com/geoserver/geoserver/pull/7181","tags":["x_refsource_MISC","x_transferred","Issue Tracking","fix","web"]},{"url":"https://osgeo-org.atlassian.net/browse/GEOS-11149","tags":["x_refsource_MISC","x_transferred","Issue Tracking","web"]},{"url":"https://osgeo-org.atlassian.net/browse/GEOS-11155","tags":["x_refsource_MISC","x_transferred","Issue Tracking","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-23640","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-9rfr-pf2x-g4xf"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/23xxx/CVE-2024-23640.json","tags":["advisory"]},{"url":"https://github.com/geoserver/geoserver","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2024-23640","title":"GeoServer Stored Cross-Site Scripting (XSS) vulnerability in Style Publisher","description":"GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. A stored cross-site scripting (XSS) vulnerability exists in versions prior to 2.23.3 and 2.24.0 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. Versions 2.23.3 and 2.24.0 contain a fix for this issue.","status":"published","published":"2024-03-20T15:26:01.7Z","modified":"2024-08-01T23:06:25.345Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:34:05.444281Z"}],"euvd":[{"id":"EUVD-2024-0889","description":"GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. A stored cross-site scripting (XSS) vulnerability exists in versions prior to 2.23.3 and 2.24.0 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. Versions 2.23.3 and 2.24.0 contain a fix for this issue.","status":"published","published":"2024-03-20T15:26:01Z","modified":"2024-08-01T23:06:25Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-03T03:50:28.835632Z"}],"ghsa":[{"id":"GHSA-9rfr-pf2x-g4xf","title":"GeoServer's Style Publisher vulnerable to Stored Cross-Site Scripting (XSS)","description":"### Summary\nA 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.\n\n### Details\n_Give all details on the vulnerability. Pointing to the incriminated source code is very helpful for the maintainer._\n\n### PoC\n_Complete instructions, including specific configuration details, to reproduce the vulnerability._\n\n### Impact\nIf 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:\n\n1 .Perform any action within the application that the user can perform.\n2. View any information that the user is able to view.\n3. Modify any information that the user is able to modify.\n4. Initiate interactions with other application users, including malicious attacks, that will appear to originate from the initial victim user.\n\n### References\nhttps://osgeo-org.atlassian.net/browse/GEOS-11149\nhttps://github.com/geoserver/geoserver/pull/7162\nhttps://osgeo-org.atlassian.net/browse/GEOS-11155\nhttps://github.com/geoserver/geoserver/pull/7181","status":"published","published":"2024-03-20T15:06:03Z","modified":"2024-03-20T21:04:02Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:37:41.821668Z"}],"nvd":[{"id":"CVE-2024-23640","description":"GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. A stored cross-site scripting (XSS) vulnerability exists in versions prior to 2.23.3 and 2.24.0 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. Versions 2.23.3 and 2.24.0 contain a fix for this issue.","status":"published","published":"2024-03-20T16:15:08.09Z","modified":"2026-06-17T07:13:17.193Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:09:41.654534Z"}],"osv":[{"id":"CVE-2024-23640","title":"GeoServer Stored Cross-Site Scripting (XSS) vulnerability in Style Publisher","description":"GeoServer is an open source software server written in Java that allows users to share and edit geospatial data. A stored cross-site scripting (XSS) vulnerability exists in versions prior to 2.23.3 and 2.24.0 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. Versions 2.23.3 and 2.24.0 contain a fix for this issue.","status":"published","published":"2024-03-20T15:26:01.7Z","modified":"2026-10-28T02:31:13.454860909Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:44:38.897406Z"},{"id":"GHSA-9rfr-pf2x-g4xf","title":"GeoServer's Style Publisher vulnerable to Stored Cross-Site Scripting (XSS)","description":"### Summary\nA 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.\n\n### Details\n_Give all details on the vulnerability. Pointing to the incriminated source code is very helpful for the maintainer._\n\n### PoC\n_Complete instructions, including specific configuration details, to reproduce the vulnerability._\n\n### Impact\nIf 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:\n\n1 .Perform any action within the application that the user can perform.\n2. View any information that the user is able to view.\n3. Modify any information that the user is able to modify.\n4. Initiate interactions with other application users, including malicious attacks, that will appear to originate from the initial victim user.\n\n### References\nhttps://osgeo-org.atlassian.net/browse/GEOS-11149\nhttps://github.com/geoserver/geoserver/pull/7162\nhttps://osgeo-org.atlassian.net/browse/GEOS-11155\nhttps://github.com/geoserver/geoserver/pull/7181","status":"published","published":"2024-03-20T15:06:03Z","modified":"2026-09-10T03:50:10.418884566Z","cvss":[{"version":"3.1","score":4.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:44.225359Z"}]}}
