GHSA-28P5-RF4F-5QQ9
Vulnerability from github – Published: 2026-09-01 06:32 – Updated: 2026-09-01 06:32The Support Genix – Helpdesk, AI Chatbot, Knowledge Base & Customer Support Ticketing System plugin for WordPress is vulnerable to Authentication Bypass leading to Administrator Account Takeover in all versions up to, and including, 1.4.52 via the guest_ticket_login() function and its p parameter. This is due to the site-wide AES-256-CBC encryption key being derived from only three two-digit wp_rand(10, 99) values and a Unix timestamp via md5() — yielding approximately 19.5 bits of entropy — combined with a deterministic IV derived from the password, no authentication tag on the ciphertext, and no capability check, nonce, or session validation on the publicly reachable /sgnix/?p=<token> endpoint. This makes it possible for authenticated attackers, with subscriber-level access and above, who can obtain a single legitimate guest ticket token as a known-plaintext oracle and bound the plugin activation timestamp, to exhaust the ~729,000-candidate keyspace entirely offline, recover the site-wide encryption key, and forge a self-consistent {ticket_id, ticket_user} token targeting any administrator-owned ticket. Submitting the forged token to the unprotected endpoint causes wp_set_auth_cookie() to be called for that administrator, granting the attacker full administrative access to the WordPress site.
{
"affected": [],
"aliases": [
"CVE-2026-19806"
],
"database_specific": {
"cwe_ids": [
"CWE-287"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-09-01T05:17:09Z",
"severity": "HIGH"
},
"details": "The Support Genix \u2013 Helpdesk, AI Chatbot, Knowledge Base \u0026 Customer Support Ticketing System plugin for WordPress is vulnerable to Authentication Bypass leading to Administrator Account Takeover in all versions up to, and including, 1.4.52 via the `guest_ticket_login()` function and its `p` parameter. This is due to the site-wide AES-256-CBC encryption key being derived from only three two-digit `wp_rand(10, 99)` values and a Unix timestamp via `md5()` \u2014 yielding approximately 19.5 bits of entropy \u2014 combined with a deterministic IV derived from the password, no authentication tag on the ciphertext, and no capability check, nonce, or session validation on the publicly reachable `/sgnix/?p=\u003ctoken\u003e` endpoint. This makes it possible for authenticated attackers, with subscriber-level access and above, who can obtain a single legitimate guest ticket token as a known-plaintext oracle and bound the plugin activation timestamp, to exhaust the ~729,000-candidate keyspace entirely offline, recover the site-wide encryption key, and forge a self-consistent `{ticket_id, ticket_user}` token targeting any administrator-owned ticket. Submitting the forged token to the unprotected endpoint causes `wp_set_auth_cookie()` to be called for that administrator, granting the attacker full administrative access to the WordPress site.",
"id": "GHSA-28p5-rf4f-5qq9",
"modified": "2026-09-01T06:32:54Z",
"published": "2026-09-01T06:32:54Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-19806"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/browser/support-genix-lite/tags/1.4.50/core/secondary_helper.php#L754"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/browser/support-genix-lite/tags/1.4.50/libs/Apbd_Wps_EncryptionLib.php#L27"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/browser/support-genix-lite/tags/1.4.50/models/database/Mapbd_wps_ticket.php#L457"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/browser/support-genix-lite/tags/1.4.50/modules/Apbd_wps_settings.php#L152"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/browser/support-genix-lite/tags/1.4.50/modules/Apbd_wps_settings.php#L748"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/browser/support-genix-lite/tags/1.4.51/core/secondary_helper.php#L754"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/browser/support-genix-lite/tags/1.4.51/libs/Apbd_Wps_EncryptionLib.php#L27"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/browser/support-genix-lite/tags/1.4.51/models/database/Mapbd_wps_ticket.php#L457"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/browser/support-genix-lite/tags/1.4.51/modules/Apbd_wps_settings.php#L152"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/browser/support-genix-lite/tags/1.4.51/modules/Apbd_wps_settings.php#L748"
},
{
"type": "WEB",
"url": "https://plugins.trac.wordpress.org/changeset?reponame=\u0026old=3668350%40support-genix-lite\u0026new=3668350%40support-genix-lite"
},
{
"type": "WEB",
"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/188f7c1d-e8ad-4114-9aa4-c3e8b51c5f2c?source=cve"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.