CVE-2023-51445

Source
https://cve.org/CVERecord?id=CVE-2023-51445
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-51445.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2023-51445
Aliases
Published
2024-03-20T15:14:49.682Z
Modified
2026-07-22T02:23:58.165817Z
Severity
  • 4.8 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N CVSS Calculator
Summary
GeoServer Stored Cross-Site Scripting (XSS) vulnerability in REST Resources API
Details

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 that will execute in the context of another administrator's browser when viewed in the REST Resources API. Access to the REST Resources API is limited to full administrators by default and granting non-administrators access to this endpoint should be carefully considered as it may allow access to files containing sensitive information. Versions 2.23.3 and 2.24.0 contain a patch for this issue.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/51xxx/CVE-2023-51445.json",
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
        "CWE-79"
    ]
}
References

Affected packages

Git / github.com/geoserver/geoserver

Affected ranges

Type
GIT
Repo
https://github.com/geoserver/geoserver
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Fixed
Database specific
{
    "cpe": "cpe:2.3:a:geoserver:geoserver:*:*:*:*:*:*:*:*",
    "source": [
        "CPE_RANGE",
        "REFERENCES"
    ],
    "extracted_events": [
        {
            "introduced": "0"
        },
        {
            "fixed": "2.23.3"
        }
    ]
}

Affected versions

2.*
2.11-beta
2.21-M0

Database specific

vanir_signatures
[
    {
        "digest": {
            "length": 1912.0,
            "function_hash": "203542442635088915613907805406506273402"
        },
        "signature_version": "v1",
        "source": "https://github.com/geoserver/geoserver/commit/7db985738ff2422019ccac974cf547bae5770cad",
        "signature_type": "Function",
        "target": {
            "function": "testDirectoryJSONMultipleChildren",
            "file": "src/restconfig/src/test/java/org/geoserver/rest/resources/ResourceControllerTest.java"
        },
        "id": "CVE-2023-51445-27071878",
        "deprecated": false
    },
    {
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "220777119728382738694577284474081415675",
                "264818031055190092119662160283618959075",
                "157701016492843938147823584022172416198",
                "159840141547146484710915406506114528119",
                "245666168963811168614857748923986567643",
                "70016150659068870420883169909992472518",
                "252202605874658133820462888713689751339",
                "157953807796485518416860434677507764838",
                "169623179652371894396265563748968921625",
                "258945082223737617553222809506264798113",
                "252919236669829884779379680057307499510",
                "222455918516717733216773840586680244628",
                "151276573157826600353516898976325507838",
                "319767822772467224352120085447028313426",
                "120362866125278118204715247556299633408",
                "65510677736647318277304069357276155191",
                "213608421971712072158867295755283791283",
                "218728858011325633425572612674612774110",
                "139559694084762181057908520071903386178",
                "24565751687545746214780253797478616707",
                "339340252176632303487475592977528588681",
                "325078072818920280203367693348001295290",
                "202166629397616453273440503862526971522",
                "286959121754172615278600431289815337364",
                "216050822918518849892590517491459125198",
                "264781130406762075079544672957359413711",
                "184114215516760973528597099905656609186",
                "277311470617083088835474231151673107056",
                "160790612124571951637191921691450408913",
                "227711090154569967368809402416134512505",
                "93513678995294813422878436593292621533",
                "299873744857630198062612810076494844571",
                "171468663233972664477494778650877334576",
                "30584587213142902972153208626010345669",
                "146231066077977760765726816980148636942",
                "55026420812159934878827087065999403875",
                "120579921280691771708397491220531568867",
                "240458816696623824603363489237461073422",
                "26465528281138146060263031816472738446",
                "115645637293658955791388399924384006917",
                "296393462772036109365415582764668693059",
                "155518448517034746495458730608630895860",
                "179861855919833598168621507539194359460",
                "92605253192100938440501218265378754532",
                "195135684598700202099638843247158927967",
                "309785182436396836068732266930531017206",
                "93344929099266208817864379211284479144",
                "30703146417676686070564091297021310648",
                "37009711986985648491628511445271122615",
                "7081324481376662048874381976906151309",
                "109244447952681830389228528956447119679",
                "134314906077627961710820279350289134835"
            ]
        },
        "signature_version": "v1",
        "source": "https://github.com/geoserver/geoserver/commit/7db985738ff2422019ccac974cf547bae5770cad",
        "signature_type": "Line",
        "target": {
            "file": "src/restconfig/src/main/java/org/geoserver/rest/resources/ResourceController.java"
        },
        "id": "CVE-2023-51445-2dabc673",
        "deprecated": false
    },
    {
        "digest": {
            "length": 534.0,
            "function_hash": "286639394461913598812744783474399887480"
        },
        "signature_version": "v1",
        "source": "https://github.com/geoserver/geoserver/commit/7db985738ff2422019ccac974cf547bae5770cad",
        "signature_type": "Function",
        "target": {
            "function": "testResourceHeaders",
            "file": "src/restconfig/src/test/java/org/geoserver/rest/resources/ResourceControllerTest.java"
        },
        "id": "CVE-2023-51445-6a817909",
        "deprecated": false
    },
    {
        "digest": {
            "length": 534.0,
            "function_hash": "286639394461913598812744783474399887480"
        },
        "signature_version": "v1",
        "source": "https://github.com/geoserver/geoserver/commit/7db985738ff2422019ccac974cf547bae5770cad",
        "signature_type": "Function",
        "target": {
            "function": "testResourceHead",
            "file": "src/restconfig/src/test/java/org/geoserver/rest/resources/ResourceControllerTest.java"
        },
        "id": "CVE-2023-51445-72069e55",
        "deprecated": false
    },
    {
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "4934651305252479908147852187972080321",
                "182061914090674391578736660279146479764",
                "296665671504894540953482449106157888731",
                "97432575656536430349624724108219663702",
                "317900468743188704292559299516727708964",
                "185578992494396439296849585448026221339",
                "105772416616957092130207546535816676545",
                "21929449441708205136938002259195681551",
                "3240572821246076151467218974406931489",
                "332659927397533026527063545056872258946",
                "311020387447575713873770806337152671316",
                "183456785398274314602156036197159955867",
                "223534101560623665490700388543566338236",
                "234556889283432947501436254665439042463",
                "254413720665898702394936532755282419136",
                "39885556568263631674294642176268501453",
                "270147106778390960143026188007287197753",
                "38495363084348915903432943628337359189",
                "248359693846736024312808758665185899698",
                "318574686136290845442226412448118162710",
                "233276963716318275396060706437374945989",
                "223534101560623665490700388543566338236",
                "234556889283432947501436254665439042463",
                "254413720665898702394936532755282419136",
                "221832693040869882261481880957183228997",
                "38669282636321733987319700599669144607",
                "109300439870329153254840281171213251940",
                "259859929372981905004231494382629141103",
                "150919739844916931934738889757347517680",
                "279115147121942254177078056426723652421",
                "300577680569713813722228363104690981743",
                "115061640986500931974926233181679978398",
                "217911501250392880470461726184578239476",
                "305244174976598342879630622616200557864",
                "242389700930321054684043842615606119686",
                "229679572288274887081972407358018270833",
                "189741773278388742604010606247795822335",
                "210586151153197662039681079762959502341",
                "114953813047929875314113707582535820205",
                "62862743957146379445330691943008290325",
                "237328627771988997771234767916329485054",
                "289899261725860260146936537554063679446"
            ]
        },
        "signature_version": "v1",
        "source": "https://github.com/geoserver/geoserver/commit/7db985738ff2422019ccac974cf547bae5770cad",
        "signature_type": "Line",
        "target": {
            "file": "src/restconfig/src/test/java/org/geoserver/rest/resources/ResourceControllerTest.java"
        },
        "id": "CVE-2023-51445-7335ea23",
        "deprecated": false
    },
    {
        "digest": {
            "length": 598.0,
            "function_hash": "258263365745263256727818913453735679884"
        },
        "signature_version": "v1",
        "source": "https://github.com/geoserver/geoserver/commit/7db985738ff2422019ccac974cf547bae5770cad",
        "signature_type": "Function",
        "target": {
            "function": "getMediaType",
            "file": "src/restconfig/src/main/java/org/geoserver/rest/resources/ResourceController.java"
        },
        "id": "CVE-2023-51445-75a9dd15",
        "deprecated": false
    },
    {
        "digest": {
            "length": 406.0,
            "function_hash": "273726659065816818282861650260544513324"
        },
        "signature_version": "v1",
        "source": "https://github.com/geoserver/geoserver/commit/7db985738ff2422019ccac974cf547bae5770cad",
        "signature_type": "Function",
        "target": {
            "function": "testDirectoryMimeTypes",
            "file": "src/restconfig/src/test/java/org/geoserver/rest/resources/ResourceControllerTest.java"
        },
        "id": "CVE-2023-51445-a5f18936",
        "deprecated": false
    },
    {
        "digest": {
            "length": 1537.0,
            "function_hash": "31411641411437341532414743041891982930"
        },
        "signature_version": "v1",
        "source": "https://github.com/geoserver/geoserver/commit/7db985738ff2422019ccac974cf547bae5770cad",
        "signature_type": "Function",
        "target": {
            "function": "resourceGet",
            "file": "src/restconfig/src/main/java/org/geoserver/rest/resources/ResourceController.java"
        },
        "id": "CVE-2023-51445-fd6ca77c",
        "deprecated": false
    }
]
vanir_signatures_modified
"2026-07-22T02:23:58Z"
source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-51445.json"