{"schemaVersion":3,"id":"CVE-2026-58400","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"GeoNetwork is a catalog application to manage spatially referenced resources. Prior to versions 4.4.12 and 4.2.17, the Saxon XSLT processor used to render formatters is configured without secure processing (`FEATURE_SECURE_PROCESSING`) and without disabling Java extension functions (`ALLOW_EXTERNAL_FUNCTIONS`). Any stylesheet loaded by GeoNetwork can therefore invoke\n`java.lang.Runtime.exec()` or `java.lang.ProcessBuilder` directly, achieving arbitrary command execution as the GeoNetwork process user. A user with sufficient privileges to upload a formatter can deliver a `.xsl` file containing Java extension call that execute arbitrary OS commands with the privileges of the GeoNetwork process. The issue is patched in GeoNetwork versions 4.4.12 and 4.2.17.","dates":{"published":"2026-09-03T17:06:17.827Z","modified":"2026-09-04T13:42:08.271Z","reserved":null,"kevAdded":["2026-09-02T00:00:00.000Z"],"kevDue":[]},"cvss":{"headline":{"score":9.1,"severity":"critical","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":9.1,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":9.1,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.01187,"percentile":0.67457,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.01187},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.01187,"percentile":0.67457}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.01187,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.01187,"percentile":0.67457}]},"kev":{"state":"listed","entries":[{"source":"enisa","sourceLabel":"ENISA","dateAdded":"2026-09-02T00:00:00.000Z","dueDate":null,"requiredAction":null,"name":null,"description":"Remote Code Execution via unsafe Saxon XSLT processor configuration in formatter.","notes":[{"type":"url","href":"https://github.com/geonetwork/core-geonetwork/security/advisories/GHSA-x898-729x-cc3r","label":"github.com/geonetwork/core-geonetwork/security/advisories/GHSA-x898-729x-cc3r"}],"vendor":"geonetwork","product":"core-geonetwork","ransomware":false,"ransomwareUse":null,"exploitationType":"unknown"}],"listedCount":1,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":true,"entry":{"source":"enisa","sourceLabel":"ENISA","dateAdded":"2026-09-02T00:00:00.000Z","dueDate":null,"requiredAction":null,"name":null,"description":"Remote Code Execution via unsafe Saxon XSLT processor configuration in formatter.","notes":[{"type":"url","href":"https://github.com/geonetwork/core-geonetwork/security/advisories/GHSA-x898-729x-cc3r","label":"github.com/geonetwork/core-geonetwork/security/advisories/GHSA-x898-729x-cc3r"}],"vendor":"geonetwork","product":"core-geonetwork","ransomware":false,"ransomwareUse":null,"exploitationType":"unknown"}},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-94","name":"Improper Control of Generation of Code ('Code Injection')","description":"The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/94.html"},{"id":"CWE-470","name":"Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')","description":"The product uses external input with reflection to select which classes or code to use, but it does not sufficiently prevent the input from selecting improper classes or code.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/470.html"}],"affected":[{"vendor":"geonetwork","product":"core-geonetwork","name":"core-geonetwork","label":"core-geonetwork","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 4.3.0, < 4.4.12","noFixRecorded":false,"fixedIn":null},{"text":"< 4.2.17","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 4.3.0, < 4.4.12 | < 4.2.17","eol":null,"hubHref":"/vendor/geonetwork/core-geonetwork"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/geonetwork/core-geonetwork/security/advisories/GHSA-x898-729x-cc3r","label":"github.com/geonetwork/core-geonetwork/security/advisories/GHSA-x898-729x-cc3r","hostname":"github.com","tags":["X Refsource CONFIRM"]},{"url":"https://docs.geonetwork-opensource.org/4.2/overview/change-log/version-4.2.17","label":"docs.geonetwork-opensource.org/4.2/overview/change-log/version-4.2.17","hostname":"docs.geonetwork-opensource.org","tags":["X Refsource MISC"]},{"url":"https://docs.geonetwork-opensource.org/4.4/overview/change-log/version-4.4.12","label":"docs.geonetwork-opensource.org/4.4/overview/change-log/version-4.4.12","hostname":"docs.geonetwork-opensource.org","tags":["X Refsource MISC"]},{"url":"https://thehackernews.com/2026/09/geonetwork-fixes-unauthenticated-rce.html","label":"thehackernews.com/2026/09/geonetwork-fixes-unauthenticated-rce.html","hostname":"thehackernews.com","tags":["X Refsource MISC"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"kev-added","date":"2026-09-02T00:00:00.000Z","label":"Added to ENISA KEV","detail":"Added to the ENISA known exploited vulnerabilities catalog.","source":"enisa"},{"kind":"published","date":"2026-09-03T17:06:17.827Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-09-04T13:42:08.271Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":85,"level":"critical","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T01:30:50.234Z","stale":false,"partial":false}}