{
    "data_version": "4.0",
    "data_type": "CVE",
    "data_format": "MITRE",
    "CVE_data_meta": {
        "ID": "CVE-2023-0846",
        "ASSIGNER": "security@opennms.com",
        "STATE": "PUBLIC"
    },
    "description": {
        "description_data": [
            {
                "lang": "eng",
                "value": "Unauthenticated, stored cross-site scripting in the display of alarm reduction keys in multiple versions of OpenNMS Horizon and Meridian could allow an attacker access to confidential session information. Users should upgrade to Meridian 2023.1.0 or newer, or Horizon 31.0.4. 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."
            }
        ]
    },
    "problemtype": {
        "problemtype_data": [
            {
                "description": [
                    {
                        "lang": "eng",
                        "value": "CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')",
                        "cweId": "CWE-79"
                    }
                ]
            }
        ]
    },
    "affects": {
        "vendor": {
            "vendor_data": [
                {
                    "vendor_name": "The OpenNMS Group ",
                    "product": {
                        "product_data": [
                            {
                                "product_name": "Horizon",
                                "version": {
                                    "version_data": [
                                        {
                                            "version_affected": "<",
                                            "version_name": "26.1.0",
                                            "version_value": "31.0.4"
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                },
                {
                    "vendor_name": "The OpenNMS Group",
                    "product": {
                        "product_data": [
                            {
                                "product_name": "Meridian",
                                "version": {
                                    "version_data": [
                                        {
                                            "version_value": "not down converted",
                                            "x_cve_json_5_version_data": {
                                                "versions": [
                                                    {
                                                        "lessThan": "2020.1.32",
                                                        "status": "affected",
                                                        "version": "2020.1.0",
                                                        "versionType": "git"
                                                    },
                                                    {
                                                        "lessThan": "2021.1.24",
                                                        "status": "affected",
                                                        "version": "2021.1.0",
                                                        "versionType": "git"
                                                    },
                                                    {
                                                        "lessThan": "2022.1.13",
                                                        "status": "affected",
                                                        "version": "2022.1.0",
                                                        "versionType": "git"
                                                    },
                                                    {
                                                        "status": "unaffected",
                                                        "version": "2023.1.0"
                                                    }
                                                ],
                                                "defaultStatus": "unaffected"
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        }
    },
    "references": {
        "reference_data": [
            {
                "url": "https://github.com/OpenNMS/opennms/pull/5506/files",
                "refsource": "MISC",
                "name": "https://github.com/OpenNMS/opennms/pull/5506/files"
            },
            {
                "url": "https://docs.opennms.com/meridian/2022/releasenotes/changelog.html#releasenotes-changelog-Meridian-2022.1.13",
                "refsource": "MISC",
                "name": "https://docs.opennms.com/meridian/2022/releasenotes/changelog.html#releasenotes-changelog-Meridian-2022.1.13"
            }
        ]
    },
    "generator": {
        "engine": "Vulnogram 0.1.0-dev"
    },
    "source": {
        "discovery": "EXTERNAL"
    },
    "solution": [
        {
            "lang": "en",
            "supportingMedia": [
                {
                    "base64": false,
                    "type": "text/html",
                    "value": "<a target=\"_blank\" rel=\"nofollow\" href=\"https://github.com/OpenNMS/opennms/pull/5506/files\"><br></a><span style=\"background-color: rgb(255, 255, 255);\">Upgrade to a newer version of Meridian or Horizon. Or change the details.jsp file as follows:&nbsp;</span><br><br><br>Change:&nbsp;<br>&lt;th class=\"col-md-1\"&gt;Reduction&amp;nbsp;Key&lt;/th&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp; &lt;td class=\"col-md-11\" colspan=\"3\"&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;% if (alarm.getReductionKey() != null) {%&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;%=alarm.getReductionKey()%&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;% } else {%&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &amp;nbsp;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;% }%&gt;<br><br>To:<br>&lt;th class=\"col-md-1\"&gt;Reduction&amp;nbsp;Key&lt;/th&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp; &lt;td class=\"col-md-11\" colspan=\"3\"&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;% if (alarm.getReductionKey() != null) {%&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;%=WebSecurityUtils.sanitizeString(alarm.getReductionKey())%&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;% } else {%&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &amp;nbsp;<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &lt;% }%&gt;<br><br><a target=\"_blank\" rel=\"nofollow\" href=\"https://github.com/OpenNMS/opennms/pull/5506/files\">https://github.com/OpenNMS/opennms/pull/5506/files<br></a><br>"
                }
            ],
            "value": " \n https://github.com/OpenNMS/opennms/pull/5506/files Upgrade to a newer version of Meridian or Horizon. Or change the details.jsp file as follows:\u00a0\n\n\nChange:\u00a0\n<th class=\"col-md-1\">Reduction&nbsp;Key</th>\n\u00a0 \u00a0 \u00a0 \u00a0 <td class=\"col-md-11\" colspan=\"3\">\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <% if (alarm.getReductionKey() != null) {%>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <%=alarm.getReductionKey()%>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <% } else {%>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &nbsp;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <% }%>\n\nTo:\n<th class=\"col-md-1\">Reduction&nbsp;Key</th>\n\u00a0 \u00a0 \u00a0 \u00a0 <td class=\"col-md-11\" colspan=\"3\">\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <% if (alarm.getReductionKey() != null) {%>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <%=WebSecurityUtils.sanitizeString(alarm.getReductionKey())%>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <% } else {%>\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 &nbsp;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <% }%>\n\n https://github.com/OpenNMS/opennms/pull/5506/files\n https://github.com/OpenNMS/opennms/pull/5506/files \n"
        }
    ],
    "credits": [
        {
            "lang": "en",
            "value": "Stefan Schiller (SonarSource)"
        }
    ],
    "impact": {
        "cvss": [
            {
                "attackComplexity": "LOW",
                "attackVector": "ADJACENT_NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 6.7,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N",
                "version": "3.1"
            }
        ]
    }
}