Skip to main content

FearlessCMS EUVDEUVD-2026-112405

| CVE-2026-63190 CRITICAL
Path Traversal (CWE-22)
2026-10-28 security-advisories@github.com
9.4
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send POST to /./admin/debug_save_flow.php
  2. Delivery
    Router /./ prefix bypasses login gate
  3. Exploit
    Unauthenticated file_put_contents writes payload
  4. Execution
    Stored script injected into public page
  5. Persist
    Admin views page, session stolen
  6. Impact
    Admin account takeover

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the target to run FearlessCMS ≤ 0.1.2b on PHP's built-in development server - the project's default Docker deployment - because the anonymous entry point is router.php checking an unnormalized admin URI prefix while the filesystem resolves dot segments, so the /./admin/ prefix (sent with curl --path-as-is) bypasses the login gate and executes the unauthenticated debug scripts (debug_save_flow.php, debug_content.php, preview-handler.php, testdebug.php) directly. No credentials, CSRF token, or user interaction are needed for the attacker's own requests (PR:N/UI:N), though the stored-XSS-to-admin-takeover chain does require an administrator to subsequently view the poisoned page. The principal limiting factor is the server mode: production stacks that normalize /./ or route PHP through Apache/nginx+FPM may not expose the router bypass, reducing reachability; filesystem impact is amplified where the PHP process runs as root (as on the tested image).

Impact

All decision signals point to genuine high priority, not an inflated CVSS. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L = 9.4) describes remote, low-complexity, unauthenticated exploitation, and the vuln.today Decision label is act_now. The GHSA advisory (GHSA-3mq8-hrhf-7hv6) publishes detailed, concrete proof-of-concept exploit commands (nine curl one-liners) that demonstrate each primitive, so trivially reproducible attacks are documented publicly. The one material caveat is deployment dependency: the anonymous reachability of the debug scripts relies on PHP's built-in development server plus the router.php path-normalization bypass (the /./admin/ prefix), which is the project's default Docker configuration but is not how a hardened production stack (Apache mod_php or nginx+PHP-FPM) typically routes requests - on such stacks the /./ normalization behaves differently and the bypass may not apply, though the debug scripts themselves still lack any isLoggedIn() check. EPSS is not provided in the input, so probabilistic exploitation likelihood cannot be quoted. This CVE is NOT in CISA KEV based on the available data, so there is no confirmed active exploitation despite the published PoC - PoC availability and active exploitation are distinct, and nothing here establishes in-the-wild use. Net: a real, act-now priority driven by unauthenticated RCE-adjacent file-write and disclosure with public PoC, tempered only by the fact that full impact is confirmed on the default dev/Docker deployment and should be verified for other server configurations.

Exploit ScenarioDerived

A remote, unauthenticated attacker sends a single crafted POST to /./admin/debug_save_flow.php (using curl --path-as-is to preserve the /./ router bypass) with action=save_content and a content of <script>…</script>, writing a stored-XSS payload into a public page such as home.md. When an administrator next views the site, the script runs in their browser and exfiltrates their session, yielding full admin compromise; the same endpoint also permits ../ path-traversal writes anywhere the PHP process (root on the tested Docker image) can create .md files. Working PoC commands for this and the directory-read primitive (debug_content.php) are published in the GHSA advisory.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 28, 2026

Unauthenticated remote attackers can overwrite FearlessCMS content, plant persistent JavaScript on public pages, and enumerate and read host files through five leftover debug/test scripts in admin/ that perform privileged operations with no login check, no CSRF token, and no path validation. The anonymous entry point depends on the deployment mode: on the project's default Docker setup, which runs PHP's built-in development server, router.php tests an unnormalized admin URI prefix while the filesystem still resolves dot segments, so a request to /./admin/... is executed directly instead of being routed through the admin login gate. The issue is fixed in 0.1.4, the GitHub advisory publishes proof-of-concept request sequences with observed results, and there is no CISA KEV listing indicating active exploitation at time of analysis.

RemediationAI

Vendor-released patch: upgrade to FearlessCMS 0.1.4 (commit 59fb22cf989b5ba14c387c3212e15b146e02cf9a, release tree https://github.com/fearlessgeekmedia/FearlessCMS/tree/0.1.4), which adds isLoggedIn() checks to the debug scripts, validate_csrf_token() validation on POST requests, validate_content_path() traversal rejection, a .md-only restriction on writes, and htmlspecialchars() escaping of the print_r output. Per the advisory, GHSA-3mq8-hrhf-7hv6 documents the affected files and the request sequences; the package metadata lists the fixed version as 0.1.4 and the vulnerable range as <= 0.1.2b. Where an immediate upgrade is not possible, contain the exposure rather than treat it as a fix: remove or deny web access to admin/debug_save_flow.php, admin/debug_content.php, admin/preview-handler.php, admin/testdebug.php and admin/test_redirect.php at the web server, accepting that diagnostic tooling is lost; normalize request URIs so that dot segments such as /./admin/ cannot reach the router - for example by rejecting non-canonical paths at a reverse proxy - with the trade-off that clients relying on unnormalized paths will be refused and that this only addresses the built-in-server bypass, not the missing authentication in the scripts themselves; and run the PHP process as a non-root user so that any remaining read or write primitive is bounded by that account's permissions, which requires re-owning the content and log directories and adjusting the default Docker image.

Affected VersionsENISA

FearlessCMS < 0.1.4

Affected Packages

euvd fearlesscms fix: 0.1.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

FearlessCMS is a flat-file CMS that stores pages as .md files under a content directory and ships an admin panel fronted by admin/index.php. The defect class is CWE-22 (path traversal), compounded by missing authentication for critical functions (CWE-306/CWE-288), reflected and stored XSS (CWE-79), and information exposure (CWE-200) as detailed in the vendor advisory. Four debug scripts - admin/debug_save_flow.php, admin/debug_content.php, admin/preview-handler.php and admin/testdebug.php - never call isLoggedIn(), so their sinks are reachable by anyone who can request them: attack-controlled path and content values reach file_put_contents for .md writes inside content/ or, via ../ traversal, elsewhere on disk; the path parameter of debug_content.php reaches scandir(), file_get_contents() and posix_getpwuid(), exposing directory listings, absolute paths, ownership, permissions, hashes and content previews; preview-handler.php writes JSON-supplied content and title into enumerable files under content/_preview/; and testdebug.php appends to admin/testdebug.log, enabling disk exhaustion. debug_save_flow.php additionally echoes print_r($_POST) without htmlspecialchars, giving reflected XSS; test_redirect.php escapes its inputs and is an exposure/hygiene issue rather than an XSS sink. Reachability hinges on router.php, which checks strpos($uri, '/' . $adminPath) === 0 and otherwise returns false so the built-in server serves matching .php files directly: because the prefix check never normalizes the URI while file_exists() does resolve dot segments, /./admin/debug_content.php fails the prefix check but resolves to a real file and runs outside the login gate. On the tested deployment the PHP process runs as root, so every read and write inherits root filesystem reach; the 0.1.4 commit 59fb22cf989b5ba14c387c3212e15b146e02cf9a adds isLoggedIn() gates, validate_csrf_token() on POST, a validate_content_path() traversal check, a .md extension restriction, and htmlspecialchars() around the print_r output.

Know when PHP gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 9.4 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
vuln.today AI 9.4 CRITICAL

Default Docker deployment gives remote unauthenticated access (AV:N/PR:N/UI:N/AC:L); arbitrary file read (C:H) and write/defacement (I:H), with only disk-exhaustion availability impact (A:L).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
Low

Lifecycle Timeline

2
Patch available
Oct 28, 2026 - 20:34 EUVD
CVE Published
Oct 28, 2026 - 20:18 cve.org
CRITICAL 9.4

DescriptionCVE.org

FearlessCMS is a flat-file content management system centered on simplicity and open source. Prior to version 0.1.4, five debug/test PHP scripts under admin/ perform privileged operations without isLoggedIn() authentication checks, CSRF protection or adequate path validation. On PHP's built-in development server, including the default Docker deployment, router.php checks an unnormalized admin URI prefix while the filesystem resolves dot segments, so /./admin/ bypasses the admin login gate and executes those scripts directly. In admin/debug_save_flow.php, attacker-controlled path and content reach file_put_contents for arbitrary .md writes under content/ or outside it through path traversal, enabling site defacement and stored JavaScript in public pages; print_r($_POST) output without htmlspecialchars escaping also causes reflected cross-site scripting. The admin/debug_content.php path parameter reaches scandir(), file_get_contents() and posix_getpwuid(), permitting arbitrary directory enumeration and .md file reads that expose absolute paths, ownership, permissions, hashes and content previews. The admin/preview-handler.php endpoint accepts JSON content and title and writes enumerable files under content/_preview/, enabling stored cross-site scripting and disk exhaustion. The admin/testdebug.php endpoint appends to admin/testdebug.log without authentication, also enabling disk exhaustion. The admin/test_redirect.php script exposes a test artifact but escapes its inputs and is not itself an XSS sink. Stored script execution can steal sessions and compromise administrators when they view affected content. Reads and writes execute with PHP's privileges; the tested deployment runs PHP as root, amplifying filesystem impact. This issue is fixed in version 0.1.4.

Technical POC Analysis

The flaw is missing authentication for critical functions (CWE-306) plus path traversal (CWE-22), with an authentication bypass (CWE-288) in router.php.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

FearlessCMS version 0.1.4 addresses critical vulnerabilities in debug scripts that allow unauthenticated attackers to alter website content, inject persistent malicious code, and access sensitive host files. This puts customer trust and data confidentiality at risk, particularly for systems running the default Docker configuration. Leadership must prioritize remediation to prevent potential defacement and data breaches.

Business Impact: High
Compensating Controls

Vendor patch exists: upgrade to FearlessCMS 0.1.4. If unable to patch immediately, restrict access to the admin/ directory via network controls (e.g., IP whitelisting), disable the debug/test scripts, and avoid running the built-in PHP development server in production.

Threat Intelligence Overview

Prevalence
Rare
obscure open-source flat-file CMS, negligible production footprint
Data Quality
3 sources
Confidence: Low

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

47
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +47
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

Cross-Site Request Forgery exploits the automatic credential inclusion behavior of web browsers.

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy