CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



GHSA-2RHW-GW3F-477J
7.5

GHSA-2RHW-GW3F-477J: Predictable HostGUID Assignment in DNN Platform New Installations

Amit Schendel
Amit Schendel
Senior Security Researcher

Apr 11, 2026·5 min read·1 visit

No Known Exploit

Executive Summary (TL;DR)

DNN versions 10.0.0 through 10.2.1 assign a static, shared HostGUID to all new installations. This undermines cryptographic operations relying on the GUID as a salt or seed. Upgrading to version 10.2.2 resolves the installation issue, though existing vulnerable deployments require manual database remediation.

The DNN (DotNetNuke) platform fails to generate a unique HostGUID for new installations starting from version 10.0.0. This flaw results in all newly deployed instances sharing a static, hardcoded GUID. This compromises platform-wide security mechanisms that rely on this identifier for cryptographic entropy, uniqueness, and cross-tenant isolation.

Vulnerability Overview: Insufficient Entropy in DNN Initialization

The DNN (DotNetNuke) platform relies on a HostGUID identifier to uniquely track and secure individual installations. This identifier is stored in the HostSettings database table and serves as a fundamental root of trust. It is utilized as a source of cryptographic entropy for various platform-wide security features.

Starting with the 10.0.0 release branch, a flaw in the DNN installation process introduces a critical cryptographic weakness. New deployments of the platform fail to generate a randomized GUID. Instead, the installer assigns a static, hardcoded GUID to every newly created instance.

This behavior maps to CWE-331 (Insufficient Entropy). Thousands of distinct DNN deployments worldwide share the exact same identifier. The lack of uniqueness compromises any security mechanism that assumes the HostGUID is a secret or unique value. Upgrades from earlier 9.x versions remain unaffected, as the upgrade process preserves the previously generated unique identifier.

Root Cause Analysis: Hardcoded Installer Templates

In a secure DNN deployment, the HostGUID is dynamically generated during the initial setup phase. The application typically invokes a standard random generation function, such as Guid.NewGuid(), and commits the result to the database. This guarantees statistical uniqueness across different environments.

The vulnerability originates from a regression introduced in the 10.0.0 installation templates. Rather than executing dynamic generation logic, the installer applies a base database template containing pre-populated data. This template includes a hardcoded HostGUID value in the HostSettings initialization script.

When administrators deploy new instances using the affected 10.x installers, the system copies the hardcoded GUID directly into the production database. The application code fails to perform any secondary validation to ensure the identifier is unique before utilizing it in cryptographic operations.

The distinction between fresh installations and upgrades dictates vulnerability exposure. During an upgrade from DNN 9.x, the system retains the existing HostSettings table records. The previously generated secure GUID persists, isolating upgraded instances from this vulnerability.

Impact Assessment: Cryptographic Degradation

The security implications of a shared HostGUID extend beyond simple instance identification. DNN utilizes this value as a cryptographic salt or seed for generating critical platform keys. When the underlying entropy source is static and publicly known, the derived keys become entirely predictable.

One primary consequence involves the generation of machine keys and encryption keys. If the platform derives encryption keys for sensitive data using the HostGUID, an external entity possessing the static GUID can recreate those identical keys. This degrades the confidentiality of encrypted database columns, including stored credentials and secure configuration parameters.

Session management and token generation mechanisms frequently incorporate the HostGUID to ensure tokens cannot be reused across different DNN instances. A shared identifier eliminates this cryptographic boundary. Tokens generated on one vulnerable instance might satisfy validation checks on an entirely different instance running the same shared GUID.

Furthermore, the shared identifier disrupts automated telemetry and licensing servers. External systems identifying clients by their HostGUID experience widespread collisions. Thousands of distinct installations report the same identifier, breaking asset tracking and vulnerability management systems.

Exploitation Methodology: Deterministic Payloads

Exploiting this vulnerability relies entirely on the predictability of cryptographic operations. An attacker begins by identifying a target running a newly installed version of DNN between 10.0.0 and 10.2.1. The attacker does not require direct access to the database or administrative credentials to initiate the attack.

The attacker retrieves the hardcoded HostGUID by analyzing the public DNN 10.x installation source code or by performing a test installation locally. Armed with the static identifier, the attacker reverse-engineers the platform's key derivation functions mapping to specific target components.

If the HostGUID serves as the primary salt for password hashing algorithms, the attacker performs optimized offline brute-force attacks. They pre-compute rainbow tables using the known static salt. This significantly reduces the computational overhead required to crack stolen password hashes from any vulnerable DNN instance.

In scenarios where the HostGUID seeds pseudo-random number generators for password reset links or authorization tokens, the attacker predicts the output. They trigger a reset sequence and calculate the resulting token offline, bypassing the intended email verification sequence entirely.

Remediation and Configuration Hardening

The primary remediation requires upgrading the DNN Platform to version 10.2.2 or later. The patch restores the dynamic generation of the HostGUID during the installation sequence. It ensures that new deployments rely on secure Guid.NewGuid() invocations rather than static template records.

Administrators must explicitly verify their environment to determine if they are affected. The vulnerability status is confirmed by querying the HostSettings table directly. The following SQL query extracts the active identifier:

SELECT SettingValue FROM HostSettings WHERE SettingName = 'HostGUID'

If the returned value matches the known hardcoded 10.x template GUID, the environment is vulnerable. Simply upgrading the software does not rotate the compromised GUID on existing installations. Administrators must manually generate a new GUID, update the HostSettings table, and restart the application pool.

Following a manual GUID rotation, administrators must regenerate all derived cryptographic keys. This includes recycling machine keys, invalidating all current user sessions, and enforcing a platform-wide password reset. These steps ensure that previously derived predictable keys are permanently retired.

Official Patches

DNN SoftwareDNN Platform v10.2.2 Release

Technical Appendix

CVSS Score
7.5/ 10

Affected Systems

DNN (DotNetNuke) PlatformDotNetNuke.Core NuGet PackageDnn.Platform NuGet Package

Affected Versions Detail

Product
Affected Versions
Fixed Version
DNN Platform
DNN Software
>= 10.0.0, < 10.2.210.2.2
AttributeDetail
CWE IDCWE-331 (Insufficient Entropy)
Attack VectorNetwork / Offline
ImpactCryptographic Weakness, Predictable Identifiers
Exploit StatusNo Active Exploitation Known
Affected ComponentInstaller Templates / HostSettings Database
Fix VersionDNN Platform 10.2.2

MITRE ATT&CK Mapping

T1555Credentials from Password Stores
Credential Access
T1190Exploit Public-Facing Application
Initial Access
CWE-331
Insufficient Entropy

The application uses a predictable or hardcoded value where a unique, unpredictable value is required for security operations.

Vulnerability Timeline

Vulnerability disclosed and GitHub Security Advisory GHSA-2RHW-GW3F-477J published
2026-04-10
DNN Platform v10.2.2 released containing the fix
2026-04-10
Security scanners began detecting the vulnerability
2026-04-10

References & Sources

  • [1]GitHub Security Advisory GHSA-2RHW-GW3F-477J
  • [2]Tenable/Nessus Plugin 305964
  • [3]DNN Platform Repository

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.