VULNARCHIVE

GCVE-1988-2026-0342

[KIS-2026-09] Discuz! X5.0 (UC_KEY) Cross-Context Token Reuse Vulnerability

Description (en)

-------------------------------------------------------------
Discuz! X5.0 (UC_KEY) Cross-Context Token Reuse Vulnerability
-------------------------------------------------------------


[-] Software Link:

https://www.discuz.vip


[-] Affected Versions:

Version X5.0, releases 20260320 through 20260501.


[-] Vulnerability Description:

The vulnerable code is located within the /config/config_ucenter.php
configuration file:

define('UC_KEY', $_config['security']['authkey']);

Discuz! X5.0, when installed in "standalone mode" (such as by the default
configuration), initializes the UC_KEY cryptographic constant by directly
copying the value of the global authkey setting.

As a result, the same cryptographic key is shared across multiple unrelated
application components, including UCenter integration and the database
backup/restore API exposed by the /api/db/dbbak.php script. This breaks
cryptographic isolation and allows tokens produced in one context to be
accepted as valid in another.

Specifically, the logging_ctl::logging_more() method — invoked during a
login request when the lssubmit parameter is present — encrypts
attacker-controlled input with the global authkey setting and reflects the
resulting ciphertext back to the client, effectively acting as an
encryption oracle. By injecting a crafted command payload through the
username parameter, an unauthenticated attacker can obtain a legitimately
signed token that bypasses the authorization check in /api/db/dbbak.php,
gaining unauthenticated access to the database export and import
functionality.

NOTE: by abusing the database export and import functionality, an attacker
may be able to trigger a Race Condition that ultimately allows
impersonating any user, bypassing authentication. This can be exploited in
combination with other vulnerabilities (such as KIS-2026-11) to achieve
unauthenticated Remote Code Execution.


[-] Proof of Concept:

https://karmainsecurity.com/pocs/discuz_rce.zip


[-] Solution:

Upgrade to release 20260510 or later.


[-] Disclosure Timeline:

[27/04/2026] - Vendor contacted through private messages on gitee.com, no
response
[27/04/2026] - Vendor contacted via e-mail at admin () discuz vip and
security () tencent com, no response
[07/05/2026] - Opened issue IJLFUW on https://gitee.com/Discuz/DiscuzX
[09/05/2026] - Vulnerability details shared within issue IJLFUW
[09/05/2026] - Vulnerability fixed within commit
9962dad52c4c6999dabaf91ecd70377c680ff3c6
[10/05/2026] - New fixed version (Discuz_X5.0_20260510) was released
[09/06/2026] - CVE identifier requested
[09/06/2026] - CVE identifier assigned
[13/06/2026] - Public disclosure at hackmeeting 0x1D
[15/06/2026] - Publication of this advisory


[-] CVE Reference:

CVE-2026-49952 has been assigned to this vulnerability.


[-] Credits:

Vulnerability discovered by Egidio Romano.


[-] Original Advisory:

https://karmainsecurity.com/KIS-2026-09


[-] Technical write-up:

https://karmainsecurity.com/chaining-bugs-in-discuz-from-race-condition-to-rce
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/

References

Raw JSON
{
  "containers": {
    "cna": {
      "affected": [
        {
          "product": "Discuz! X5.0 UC_KEY",
          "vendor": "unknown",
          "versions": [
            {
              "status": "affected",
              "version": "unknown"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "finder",
          "value": "Egidio Romano"
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "-------------------------------------------------------------\nDiscuz! X5.0 (UC_KEY) Cross-Context Token Reuse Vulnerability\n-------------------------------------------------------------\n\n\n[-] Software Link:\n\nhttps://www.discuz.vip\n\n\n[-] Affected Versions:\n\nVersion X5.0, releases 20260320 through 20260501.\n\n\n[-] Vulnerability Description:\n\nThe vulnerable code is located within the /config/config_ucenter.php\nconfiguration file:\n\ndefine('UC_KEY', $_config['security']['authkey']);\n\nDiscuz! X5.0, when installed in \"standalone mode\" (such as by the default\nconfiguration), initializes the UC_KEY cryptographic constant by directly\ncopying the value of the global authkey setting.\n\nAs a result, the same cryptographic key is shared across multiple unrelated\napplication components, including UCenter integration and the database\nbackup/restore API exposed by the /api/db/dbbak.php script. This breaks\ncryptographic isolation and allows tokens produced in one context to be\naccepted as valid in another.\n\nSpecifically, the logging_ctl::logging_more() method — invoked during a\nlogin request when the lssubmit parameter is present — encrypts\nattacker-controlled input with the global authkey setting and reflects the\nresulting ciphertext back to the client, effectively acting as an\nencryption oracle. By injecting a crafted command payload through the\nusername parameter, an unauthenticated attacker can obtain a legitimately\nsigned token that bypasses the authorization check in /api/db/dbbak.php,\ngaining unauthenticated access to the database export and import\nfunctionality.\n\nNOTE: by abusing the database export and import functionality, an attacker\nmay be able to trigger a Race Condition that ultimately allows\nimpersonating any user, bypassing authentication. This can be exploited in\ncombination with other vulnerabilities (such as KIS-2026-11) to achieve\nunauthenticated Remote Code Execution.\n\n\n[-] Proof of Concept:\n\nhttps://karmainsecurity.com/pocs/discuz_rce.zip\n\n\n[-] Solution:\n\nUpgrade to release 20260510 or later.\n\n\n[-] Disclosure Timeline:\n\n[27/04/2026] - Vendor contacted through private messages on gitee.com, no\nresponse\n[27/04/2026] - Vendor contacted via e-mail at admin () discuz vip and\nsecurity () tencent com, no response\n[07/05/2026] - Opened issue IJLFUW on https://gitee.com/Discuz/DiscuzX\n[09/05/2026] - Vulnerability details shared within issue IJLFUW\n[09/05/2026] - Vulnerability fixed within commit\n9962dad52c4c6999dabaf91ecd70377c680ff3c6\n[10/05/2026] - New fixed version (Discuz_X5.0_20260510) was released\n[09/06/2026] - CVE identifier requested\n[09/06/2026] - CVE identifier assigned\n[13/06/2026] - Public disclosure at hackmeeting 0x1D\n[15/06/2026] - Publication of this advisory\n\n\n[-] CVE Reference:\n\nCVE-2026-49952 has been assigned to this vulnerability.\n\n\n[-] Credits:\n\nVulnerability discovered by Egidio Romano.\n\n\n[-] Original Advisory:\n\nhttps://karmainsecurity.com/KIS-2026-09\n\n\n[-] Technical write-up:\n\nhttps://karmainsecurity.com/chaining-bugs-in-discuz-from-race-condition-to-rce\n_______________________________________________\nSent through the Full Disclosure mailing list\nhttps://nmap.org/mailman/listinfo/fulldisclosure\nWeb Archives & RSS: https://seclists.org/fulldisclosure/"
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-11T07:55:56Z",
        "orgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
        "shortName": "VULNARCHIVE"
      },
      "references": [
        {
          "tags": [
            "technical-description",
            "exploit"
          ],
          "url": "https://vuln.freearchive.org/archive/full-disclosure/2026/Jun/3"
        },
        {
          "tags": [
            "technical-description"
          ],
          "url": "https://seclists.org/fulldisclosure/2026/Jun/3"
        },
        {
          "url": "https://gitee.com/Discuz/DiscuzX"
        },
        {
          "url": "https://karmainsecurity.com/KIS-2026-09"
        },
        {
          "url": "https://karmainsecurity.com/chaining-bugs-in-discuz-from-race-condition-to-rce"
        },
        {
          "url": "https://karmainsecurity.com/pocs/discuz_rce.zip"
        },
        {
          "url": "https://nmap.org/mailman/listinfo/fulldisclosure"
        },
        {
          "url": "https://seclists.org/fulldisclosure/"
        },
        {
          "url": "https://www.discuz.vip"
        }
      ],
      "source": {
        "defect": [
          "https://seclists.org/fulldisclosure/2026/Jun/3"
        ],
        "discovery": "EXTERNAL"
      },
      "title": "[KIS-2026-09] Discuz! X5.0 (UC_KEY) Cross-Context Token Reuse Vulnerability",
      "x_gcve": [
        {
          "recordType": "analysis",
          "relationships": [
            {
              "destId": "CVE-2026-49952",
              "type": "related"
            }
          ],
          "vulnId": "GCVE-1988-2026-0342",
          "x_vulnarchive": {
            "archiveUrl": "https://vuln.freearchive.org/archive/full-disclosure/2026/Jun/3",
            "automated": true,
            "contentSha256": "9da4b434ddb4e0d1af4e1008e74f71a1dfa9286e68230244eb40955994f5fe5e",
            "evidenceScore": 9,
            "messageId": "",
            "originalUrl": "https://seclists.org/fulldisclosure/2026/Jun/3",
            "policy": "vulnarchive-1",
            "sourceFormat": "text/html",
            "sourcePublishedAt": "2026-06-15T18:42:12Z"
          }
        }
      ]
    }
  },
  "cveMetadata": {
    "assignerOrgId": "4e2abfbf-4a2a-4b76-a4e0-d77c18ba156c",
    "assignerShortName": "VULNARCHIVE",
    "datePublished": "2026-09-11T07:55:56Z",
    "dateUpdated": "2026-09-11T07:55:56Z",
    "state": "PUBLISHED",
    "vulnId": "GCVE-1988-2026-0342"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}