/

CVE-2026-63190

Severity:

CRITICAL RISK

(9.4)

Missing Authentication (CWE-306) in FearlessCMS Admin

CVE-2026-63190

Deferred

Vulnerability type

Category:

Missing Authentication

CWE:

CWE-22, CWE-79, CWE-200, CWE-288, CWE-306

Impact:

Unauthorized File Access, File Modification, and Cross-Site Scripting

Severity:

CRITICAL RISK

(9.4)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

FearlessCMS versions before 0.1.4 expose privileged debug and test scripts without reliable authentication, CSRF protection, or path validation. Under affected server and routing conditions, an attacker may read files, write or append filesystem content, cause stored or reflected cross-site scripting, and exhaust disk space.

FearlessCMS versions before 0.1.4 expose privileged debug and test scripts without reliable authentication, CSRF protection, or path validation. Under affected server and routing conditions, an attacker may read files, write or append filesystem content, cause stored or reflected cross-site scripting, and exhaust disk space.

Affected context

The issue occurs in FearlessCMS administrative debug and test endpoints when they are deployed through PHP's built-in development server, including the default Docker deployment, and the routing layer checks an unnormalized URI while the filesystem resolves dot segments. Risk is increased when these scripts are reachable without an authenticated session, when content directories are writable by the PHP process, or when affected pages are later viewed by administrators.

The issue occurs in FearlessCMS administrative debug and test endpoints when they are deployed through PHP's built-in development server, including the default Docker deployment, and the routing layer checks an unnormalized URI while the filesystem resolves dot segments. Risk is increased when these scripts are reachable without an authenticated session, when content directories are writable by the PHP process, or when affected pages are later viewed by administrators.

Exploit preconditions

  • Attack surface: HTTP-accessible scripts under the admin/ directory
  • Required access: Network access to the affected application; administrative authentication is not consistently required
  • Trigger point: Requests reaching debug, preview, content-inspection, or test endpoints through the affected routing behavior
  • Why exploitation is possible: Privileged operations lack authentication and CSRF checks, while user-controlled paths and content reach filesystem and HTML-rendering operations without sufficient validation or output encoding
  • Environmental factor: PHP filesystem permissions determine the scope of reads, writes, and log growth
  • Attack surface: HTTP-accessible scripts under the admin/ directory
  • Required access: Network access to the affected application; administrative authentication is not consistently required
  • Trigger point: Requests reaching debug, preview, content-inspection, or test endpoints through the affected routing behavior
  • Why exploitation is possible: Privileged operations lack authentication and CSRF checks, while user-controlled paths and content reach filesystem and HTML-rendering operations without sufficient validation or output encoding
  • Environmental factor: PHP filesystem permissions determine the scope of reads, writes, and log growth

Why this happens

The primary flaw is missing authentication enforcement, mapped to CWE-306, in privileged administrative scripts. The routing and endpoint design also combine several insecure patterns: unnormalized path handling permits security checks to be bypassed, attacker-controlled paths reach filesystem APIs, and untrusted content is rendered without consistent output encoding. These behaviors correspond to CWE-22 for path traversal, CWE-79 for cross-site scripting, CWE-200 for information exposure, and CWE-288 for authentication bypass through an alternate path.

The primary flaw is missing authentication enforcement, mapped to CWE-306, in privileged administrative scripts. The routing and endpoint design also combine several insecure patterns: unnormalized path handling permits security checks to be bypassed, attacker-controlled paths reach filesystem APIs, and untrusted content is rendered without consistent output encoding. These behaviors correspond to CWE-22 for path traversal, CWE-79 for cross-site scripting, CWE-200 for information exposure, and CWE-288 for authentication bypass through an alternate path.

Potential impact

  • An attacker may read Markdown files, directory contents, metadata, and deployment paths
  • An attacker could write or append files within or outside intended content locations
  • Public pages may contain stored JavaScript that can execute in an administrator's browser
  • Reflected cross-site scripting may affect users interacting with debug responses
  • Disk exhaustion could make the application or host unavailable
  • File operations may have broader consequences when PHP runs with elevated privileges
  • Exposed information could support further compromise or targeted attacks
  • An attacker may read Markdown files, directory contents, metadata, and deployment paths
  • An attacker could write or append files within or outside intended content locations
  • Public pages may contain stored JavaScript that can execute in an administrator's browser
  • Reflected cross-site scripting may affect users interacting with debug responses
  • Disk exhaustion could make the application or host unavailable
  • File operations may have broader consequences when PHP runs with elevated privileges
  • Exposed information could support further compromise or targeted attacks

General mitigation guidance

Mitigation generally focuses on removing or isolating debug functionality and applying authorization consistently at a central boundary.

Common defensive patterns include:

  • Require authenticated, authorized administrative sessions for every privileged endpoint
  • Apply CSRF protection to state-changing requests
  • Normalize and canonicalize paths before authorization decisions
  • Constrain file access to an approved directory using safe path resolution and allowlists
  • Use fixed server-side filenames or opaque identifiers for preview artifacts
  • Validate content types, sizes, and request body limits before processing
  • Encode untrusted values by context before rendering them into HTML
  • Disable debug and test scripts in production deployments
  • Run PHP with a dedicated low-privilege account and restrict filesystem permissions
  • Apply quotas, rotation, and monitoring to generated previews and logs

Mitigation generally focuses on removing or isolating debug functionality and applying authorization consistently at a central boundary.

Common defensive patterns include:

  • Require authenticated, authorized administrative sessions for every privileged endpoint
  • Apply CSRF protection to state-changing requests
  • Normalize and canonicalize paths before authorization decisions
  • Constrain file access to an approved directory using safe path resolution and allowlists
  • Use fixed server-side filenames or opaque identifiers for preview artifacts
  • Validate content types, sizes, and request body limits before processing
  • Encode untrusted values by context before rendering them into HTML
  • Disable debug and test scripts in production deployments
  • Run PHP with a dedicated low-privilege account and restrict filesystem permissions
  • Apply quotas, rotation, and monitoring to generated previews and logs

How teams detect issues like this

Organizations can look for:

  • Static analysis findings where administrative scripts perform filesystem operations without nearby authorization checks
  • Code review signals such as direct use of request parameters in path construction, directory enumeration, file reads, or file writes
  • Routing checks that compare raw URI prefixes without canonicalization
  • Unescaped request data inserted into HTML or diagnostic output
  • Missing CSRF validation on state-changing administrative requests
  • Web access logs containing unusual normalized-path variants or requests to debug and test artifacts
  • File integrity monitoring for unexpected Markdown, preview, and log files
  • Policy enforcement that prevents debug endpoints from being deployed or exposed in production
  • Automated security review tools configured to flag path traversal, missing authorization, XSS, and unrestricted resource consumption patterns

Organizations can look for:

  • Static analysis findings where administrative scripts perform filesystem operations without nearby authorization checks
  • Code review signals such as direct use of request parameters in path construction, directory enumeration, file reads, or file writes
  • Routing checks that compare raw URI prefixes without canonicalization
  • Unescaped request data inserted into HTML or diagnostic output
  • Missing CSRF validation on state-changing administrative requests
  • Web access logs containing unusual normalized-path variants or requests to debug and test artifacts
  • File integrity monitoring for unexpected Markdown, preview, and log files
  • Policy enforcement that prevents debug endpoints from being deployed or exposed in production
  • Automated security review tools configured to flag path traversal, missing authorization, XSS, and unrestricted resource consumption patterns

Sources

SourceLink
github.comgithub.com/fearlessgeekmedia/FearlessCMS/commit/59fb22cf989b5ba14c387c3212e15b146e02cf9a
github.comgithub.com/fearlessgeekmedia/FearlessCMS/security/advisories/GHSA-3mq8-hrhf-7hv6
github.comgithub.com/fearlessgeekmedia/FearlessCMS/tree/0.1.4

Frequently asked

questions

It may be remotely exploitable when the affected administrative scripts are reachable over HTTP and the deployment uses the vulnerable routing behavior. Exploitation does not depend on bypassing a correctly enforced application login because the scripts lack consistent authentication checks.

The attacker generally needs network access to the FearlessCMS instance. The resulting impact depends on endpoint exposure, filesystem permissions, PHP privileges, and whether administrators view affected content.

Remove or isolate debug and test endpoints, enforce authentication and authorization centrally, and treat all filesystem and rendered-content inputs as untrusted. Canonical path validation, strict allowlists, output encoding, and CSRF protection should be applied consistently.

Keep diagnostic functionality out of production builds, require security review for administrative routes, use least-privilege service accounts, add automated checks for missing authorization and unsafe file access, and monitor unexpected content or log growth.

It may be remotely exploitable when the affected administrative scripts are reachable over HTTP and the deployment uses the vulnerable routing behavior. Exploitation does not depend on bypassing a correctly enforced application login because the scripts lack consistent authentication checks.

The attacker generally needs network access to the FearlessCMS instance. The resulting impact depends on endpoint exposure, filesystem permissions, PHP privileges, and whether administrators view affected content.

Remove or isolate debug and test endpoints, enforce authentication and authorization centrally, and treat all filesystem and rendered-content inputs as untrusted. Canonical path validation, strict allowlists, output encoding, and CSRF protection should be applied consistently.

Keep diagnostic functionality out of production builds, require security review for administrative routes, use least-privilege service accounts, add automated checks for missing authorization and unsafe file access, and monitor unexpected content or log growth.

Find out what's already
exploitable in your codebase.