{
  "threat_severity" : "Moderate",
  "public_date" : "2019-03-27T00:24:00Z",
  "bugzilla" : {
    "description" : "web-console: XSS in OAuth server /oauth/token/request endpoint",
    "id" : "1691107",
    "url" : "https://bugzilla.redhat.com/show_bug.cgi?id=1691107"
  },
  "cvss3" : {
    "cvss3_base_score" : "5.0",
    "cvss3_scoring_vector" : "CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L",
    "status" : "verified"
  },
  "cwe" : "CWE-352",
  "details" : [ "A flaw was found in the /oauth/token/request custom endpoint of the OpenShift OAuth server allowing for XSS generation of CLI tokens due to missing X-Frame-Options and CSRF protections. If not otherwise prevented, a separate XSS vulnerability via JavaScript could further allow for the extraction of these tokens.", "A flaw was found in the /oauth/token/request custom endpoint of the OpenShift OAuth server allowing for XSS generation of CLI tokens due to missing X-Frame-Options and CSRF protections. If not otherwise prevented, a separate XSS vulnerability via JavaScript could further allow for the extraction of these tokens." ],
  "statement" : "This issue affects the OAuth server shipped in OpenShift Container Platform version v3.0 through v3.11.  Red Hat Product Security has rated this issue as having a security impact of Moderate.\nFor additional information, refer to the Issue Severity Classification: https://access.redhat.com/security/updates/classification/.",
  "acknowledgement" : "This issue was discovered by Mo Khan (Red Hat).",
  "affected_release" : [ {
    "product_name" : "Red Hat OpenShift Container Platform 3.11",
    "release_date" : "2019-07-24T00:00:00Z",
    "advisory" : "RHSA-2019:1851",
    "cpe" : "cpe:/a:redhat:openshift:3.11::el7",
    "package" : "atomic-openshift-0:3.11.129-1.git.0.bd4f2d5.el7"
  }, {
    "product_name" : "Red Hat OpenShift Container Platform 3.11",
    "release_date" : "2019-07-24T00:00:00Z",
    "advisory" : "RHSA-2019:1851",
    "cpe" : "cpe:/a:redhat:openshift:3.11::el7",
    "package" : "jenkins-2-plugins-0:3.11.1560870549-1.el7"
  } ],
  "package_state" : [ {
    "product_name" : "Red Hat OpenShift Container Platform 3.10",
    "fix_state" : "Fix deferred",
    "package_name" : "atomic-openshift",
    "cpe" : "cpe:/a:redhat:openshift:3.10"
  }, {
    "product_name" : "Red Hat OpenShift Container Platform 3.4",
    "fix_state" : "Out of support scope",
    "package_name" : "atomic-openshift",
    "cpe" : "cpe:/a:redhat:openshift:3.4"
  }, {
    "product_name" : "Red Hat OpenShift Container Platform 3.5",
    "fix_state" : "Out of support scope",
    "package_name" : "atomic-openshift",
    "cpe" : "cpe:/a:redhat:openshift:3.5"
  }, {
    "product_name" : "Red Hat OpenShift Container Platform 3.6",
    "fix_state" : "Out of support scope",
    "package_name" : "atomic-openshift",
    "cpe" : "cpe:/a:redhat:openshift:3.6"
  }, {
    "product_name" : "Red Hat OpenShift Container Platform 3.7",
    "fix_state" : "Out of support scope",
    "package_name" : "atomic-openshift",
    "cpe" : "cpe:/a:redhat:openshift:3.7"
  }, {
    "product_name" : "Red Hat OpenShift Container Platform 3.9",
    "fix_state" : "Fix deferred",
    "package_name" : "atomic-openshift",
    "cpe" : "cpe:/a:redhat:openshift:3.9"
  }, {
    "product_name" : "Red Hat OpenShift Container Platform 4",
    "fix_state" : "Not affected",
    "package_name" : "openshift",
    "cpe" : "cpe:/a:redhat:openshift:4"
  } ],
  "references" : [ "https://www.cve.org/CVERecord?id=CVE-2019-3876\nhttps://nvd.nist.gov/vuln/detail/CVE-2019-3876" ],
  "name" : "CVE-2019-3876",
  "mitigation" : {
    "value" : "Since at least v3.4, the OpenShift documentation [1] has specified the format for  corsAllowedOrigins to accurately match intended hostnames.  Since at least v3.7, installs will default to use the correct regular expression formatted variables.  Earlier versions may be configured with plain strings, a configuration which will persist across cluster upgrades, opening them to cross origin vulnerabilities such as this.\nAt a minimum, you should ensure that the corsAllowedOrigin definition within master-config.yaml contains elements in the form \n~~~\ncorsAllowedOrigins:\n- (?i)//my\\.subdomain\\.domain\\.com(:|\\z)\n~~~\nand not the form\n~~~\ncorsAllowedOrigins:\n- domain.com\n~~~\nas the first will permit cross origin requests only if the host matches exactly, whereas the second will permit from any host that merely contains the string (such as ABCDdomain.com or even domain.comABCD.com).\nFootnotes:\n[1] https://docs.openshift.com/container-platform/3.4/architecture/infrastructure_components/web_console.html#corsAllowedOrigins",
    "lang" : "en:us"
  },
  "csaw" : false
}