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

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·29 visits

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.

More Reports

•29 minutes ago•CVE-2026-107716
7.3

CVE-2026-107716: Path Traversal and Link Following in banks DirectoryPromptRegistry

Improper pathname limitation and link resolution (CWE-22 and CWE-59) in the banks library prior to version 2.5.1 allow local attackers to read or write arbitrary files via crafted symbolic links in the prompt directory registry.

Amit Schendel
Amit Schendel
2 views•7 min read
•about 1 hour ago•CVE-2026-107726
9.3

CVE-2026-107726: Unrestricted Deserialization in Hazelcast Zero Config Compact Serialization

Improper validation of dynamic class resolution within Hazelcast's Zero Config Compact Serialization allows unauthenticated clients to trigger reflective class instantiation. This flaw can be exploited to read arbitrary JVM heap or off-heap memory, crash cluster nodes, or achieve arbitrary code execution under specific classpath conditions. This issue is resolved in Hazelcast versions 5.4.5, 5.5.10, 5.6.1, and 5.7.0.

Alon Barad
Alon Barad
4 views•6 min read
•about 3 hours ago•CVE-2026-107719
4.2

CVE-2026-107719: Session Expiration Bypass in fast-jwt via Verifier Cache

An authentication bypass vulnerability in NearForm's fast-jwt before version 6.3.4 allows attackers to replay expired tokens due to an error in the verifier's cache expiration logic. When caching is enabled, the cache TTL defaults to 10 minutes instead of honoring the token's exp claim if the token lacks an iat claim.

Alon Barad
Alon Barad
4 views•7 min read
•about 4 hours ago•CVE-2026-61427
7.3

CVE-2026-61427: Authentication Bypass and Unvalidated Tool Execution in PraisonAI MCP HTTP-Stream Server

CVE-2026-61427 is a critical authentication bypass and improper input validation vulnerability within the Model Context Protocol (MCP) HTTP-stream server of PraisonAI. In versions prior to 4.6.78, the server lacks authentication by default and forwards client messages directly to Python tool handlers without input validation. When bound to non-localhost interfaces, this permits unauthenticated remote attackers to perform unauthorized administrative operations and execute tools.

Alon Barad
Alon Barad
8 views•4 min read
•about 5 hours ago•CVE-2026-107387
6.2

CVE-2026-107387: Uncontrolled Memory Allocation (OOM) in music-metadata APEv2 Parser

CVE-2026-107387 is a high-impact uncontrolled memory allocation vulnerability in music-metadata, a widely used Node.js metadata parser. The flaw occurs in the APEv2 tag parser, where the library reads an attacker-controlled 32-bit integer indicating the tag size and immediately requests a corresponding heap buffer reservation. Because this allocation occurs before validating if the input stream actually contains those bytes, an attacker can supply a minuscule audio file to trigger large, disproportionate allocations, resulting in heap exhaustion and an uncatchable process-wide Out of Memory (OOM) crash.

Amit Schendel
Amit Schendel
8 views•5 min read
•about 6 hours ago•CVE-2026-107391
6.2

CVE-2026-107391: Synchronous Infinite Loop and Memory Exhaustion in music-metadata MP4 Parser

An input validation vulnerability exists in music-metadata versions prior to 11.16.0, where parsing a crafted MP4 file containing a sample-description (stsd) box with a zero-value size entry causes a synchronous infinite loop and memory exhaustion, resulting in complete Denial of Service.

Alon Barad
Alon Barad
11 views•7 min read