Skip to content

GHSA-f38f-jvqj-mfg6 CVE-2025-54127

NodeJS version of HAX CMS Has Insecure Default Configuration That Leads to Unauthenticated Access

Critical npm
Severity
0.0 / 10
Critical · CVSS 4.0
Exploit chance (EPSS)
0.46%
Chance of exploitation in the next 30 days. Higher than 39.62% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-1188 Initialization of a Resource with an Insecure Default
Fix
11.0.7
Upgrade @haxtheweb/haxcms-nodejs to this version or later

Description

Summary

The NodeJS version of HAX CMS uses an insecure default configuration designed for local development. The default configuration does not perform authorization or authentication checks.

Details

If a user were to deploy haxcms-nodejs without modifying the default settings, ‘HAXCMS_DISABLE_JWT_CHECKS‘ would be set to ‘true‘ and their deployment would lack session authentication.

insecure-default-configuration-code

Affected Resources

PoC

To reproduce this vulnerability, install HAX CMS NodeJS. The application will load without JWT checks enabled.

Impact

Without security checks in place, an unauthenticated remote attacker could access, modify, and delete all site information.

Affected versions

npm

PackageVulnerableFixed in
@haxtheweb/haxcms-nodejs
< 11.0.7
11.0.7

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

@haxtheweb/haxcms-nodejs npm → 11.0.7

npm
npm install @haxtheweb/haxcms-nodejs@11.0.7
yarn
yarn add @haxtheweb/haxcms-nodejs@11.0.7
pnpm
pnpm add @haxtheweb/haxcms-nodejs@11.0.7

Severity breakdown

CVSS 4.0 0.0

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Attack vector
Network
Attack complexity
Low
Attack requirements
None
Privileges required
None
User interaction
None
Confidentiality (vulnerable system)
High
Integrity (vulnerable system)
High
Availability (vulnerable system)
High
Confidentiality (subsequent systems)
None
Integrity (subsequent systems)
None
Availability (subsequent systems)
None

CVSS 3.1 9.8

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Weakness

CWE-1188: Initialization of a Resource with an Insecure Default

The product initializes or sets a resource with a default that is intended to be changed by the product's installer, administrator, or maintainer, but the default is not secure.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-g2g8-95qg-v35h
HaxCMS has a stored Cross-Site Scripting (XSS) bypass in its saveNode endpoint
High Also affects @haxtheweb/haxcms-nodejs
GHSA-9r33-xhw8-4qqp
HAX CMS: Denial of Service using Malicious Import Request
Medium Also affects @haxtheweb/haxcms-nodejs
GHSA-x3x5-7h4h-gwxg
HAXcms: Mass Token Exfiltration and Cross-Tenant Hijack
High Also affects @haxtheweb/haxcms-nodejs
GHSA-jh3h-rpxg-fr36
Stored XSS via <iframe> in HAX CMS allows access to sensitive client-side data and account takeover
High Also affects @haxtheweb/haxcms-nodejs
GHSA-6c8g-9hfh-pq5h
HAXcms: Private Key Disclosure via Broken HMAC Implementation
Critical Also affects @haxtheweb/haxcms-nodejs
GHSA-2m6p-hm3w-6jm3
HAX CMS: Stored XSS via '<video-player>' component allows arbitrary JavaScript execution and token theft
Medium Also affects @haxtheweb/haxcms-nodejs
GHSA-q862-gcgq-5m6g
HAXcms createSite SSRF Enables Arbitrary File Read
High Also affects @haxtheweb/haxcms-nodejs
GHSA-3fm2-xfq7-7778
HAXcms Has Stored XSS Vulnerability that May Lead to Account Takeover
Medium Also affects @haxtheweb/haxcms-nodejs
Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor