{"schemaVersion":3,"id":"CVE-2026-19596","aliases":[],"status":"published","duplicateOf":null,"title":"OpenNMS XML collector XXE allows arbitrary file read from the OpenNMS host","description":"An XML External Entity (XXE) vulnerability exists in the XML collector of multiple versions of OpenNMS Meridian and Horizon. When OpenNMS collects XML from a source whose response is attacker-controlled (for example a compromised monitored host or an HTTP man-in-the-middle position), the collector's XML parser resolves external entities and external DTDs. This allows an attacker to read files accessible to the OpenNMS service account, including database credentials, and to induce out-of-band requests.\n\n\n\nThe solution is to upgrade to Meridian 2024.3.13, 2025.0.10 and Horizon 36.0.4 or newer. Meridian and Horizon installation instructions state that they are intended for installation within an organization's private networks and should not be directly accessible from the Internet.","dates":{"published":"2026-09-10T20:08:50.816Z","modified":"2026-09-10T20:27:45.533Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":5.9,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":5.9,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":5.9,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00211,"percentile":0.10809,"severity":"low","asOf":"2026-10-22T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-22T00:00:00.000Z","baselineScore":0.00211},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00211,"percentile":0.10809}],"last30":[{"date":"2026-09-22T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00211,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00211,"percentile":0.10809}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-611","name":"Improper Restriction of XML External Entity Reference","description":"The product processes an XML document that can contain XML entities with URIs that resolve to documents outside of the intended sphere of control, causing the product to embed incorrect documents into its output.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/611.html"}],"affected":[{"vendor":"the opennms group","product":"horizon","name":"Horizon","label":"horizon","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 36.0.0, < 36.0.4","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 36.0.0, < 36.0.4","eol":{"isEol":null,"eolDate":null,"matchMethod":"name_exact","cycle":null,"product":{"name":"horizon","label":"Omnissa Horizon","category":"app"}},"hubHref":"/vendor/the_opennms_group/horizon"},{"vendor":"the opennms group","product":"meridian","name":"Meridian","label":"meridian","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 2024.1.0, < 2024.3.13","noFixRecorded":false,"fixedIn":null},{"text":"≥ 2025.0.0, < 2025.0.10","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 2024.1.0, < 2024.3.13 | ≥ 2025.0.0, < 2025.0.10","eol":null,"hubHref":"/vendor/the_opennms_group/meridian"}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/OpenNMS/opennms/pull/8782","label":"github.com/OpenNMS/opennms/pull/8782","hostname":"github.com","tags":["Patch"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-09-10T20:08:50.816Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-09-10T20:27:45.533Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":24,"level":"low","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T20:59:50.731Z","stale":false,"partial":false}}