Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify internet-facing Microweber ≤2.0.20
-
DeliverySend GET with ?path= traversal sequence
-
ExploitBypass normalize_path() sanitization
-
ExecutionRead arbitrary file (e.g. .env)
-
ImpactHarvest credentials for lateral movement
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 | No authentication, user interaction, or non-default setup is required: any internet-reachable Microweber CMS instance at or below version 2.0.20 exposing the ServeStaticFileContoller static file route is exploitable by supplying traversal sequences in the ?path= query parameter, which overrides the {path} route segment via Laravel's Request::__get. Exploitation is limited to files readable by the web server OS user and is confidentiality-only (no write or code execution through this flaw); real-world impact depends on sensitive files such as .env residing in a traversable location, which is the default project layout. The main limiting factor is that the target must be running an unpatched build (≤2.0.20) with the vulnerable controller reachable. |
| Impact | This is a genuine, easily exploitable priority rather than a paper-high score. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms remote, low-complexity, unauthenticated exploitation with no user interaction, and impact is scoped to high confidentiality only (VC:H, VI:N, VA:N) - consistent with an arbitrary file read that does not directly modify or crash the system. Publicly available exploit code raises real-world likelihood, and the ability to read .env credentials creates a strong secondary escalation path (database, mail, API secrets) even though the vulnerability itself is read-only. No CISA KEV listing or EPSS score was provided, so widespread active exploitation is not confirmed; the combination of trivial exploitation plus a public POC nonetheless warrants prompt remediation. No signals conflict here - description, CWE, source diff, and CVSS vector all agree on unauthenticated remote file disclosure. |
| Exploit ScenarioDerived | An attacker identifies a public Microweber site (≤2.0.20) and issues a single unauthenticated GET request to the static file controller with ?path=../../../../.env (and traversal variants), which normalize_path() fails to sanitize. The response returns the application's environment file, disclosing database, mail, and API credentials that the attacker then reuses to pivot into backend systems. Public exploit code for this technique is available. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 23, 2026
Unauthenticated arbitrary file read in Microweber CMS through version 2.0.20 lets remote attackers retrieve sensitive files via directory traversal in the static file controller (ServeStaticFileContoller). Because the controller trusts the attacker-controlled ?path= query input over the bound route segment and normalize_path() fails to strip traversal sequences, a single unauthenticated HTTP GET can disclose environment configuration files containing credentials and other system files. Publicly available exploit code exists; the flaw was reported by VulnCheck and carries a CVSS 4.0 base score of 8.7.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - apply the change from https://github.com/microweber/microweber/pull/1181, which switches the controller to use the bound route segment ($request->route('path')) instead of the overridable request input and confines the resolved path under realpath(userfiles_path()) with a realpath() plus strncmp prefix check, returning 404 on escape. Until an official tagged release can be deployed, compensating controls include placing a WAF or reverse-proxy rule to block requests to the static file endpoint containing traversal patterns (../, ..%2f, encoded variants) and a ?path= query parameter (trade-off: may break legitimate static asset requests that rely on that parameter and can be bypassed by novel encodings), and restricting filesystem permissions so the web server user cannot read the .env file or other secrets outside the userfiles directory (trade-off: some framework features expecting env access may fail). Rotate any credentials in .env that may already have been exposed. Consult the VulnCheck advisory at https://www.vulncheck.com/advisories/microweber-cms-path-traversal-via-servestaticfilecontroller for detection guidance.
Affected VersionsENISA
Affected Packages
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
Microweber is an open-source PHP/Laravel-based content management and e-commerce CMS. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory / path traversal). In the vulnerable ServeStaticFileContoller, the code read $request->path, which - through Laravel's Request::__get magic accessor - resolves to request input, so a ?path= query string silently overrides the {path} route segment. That input was concatenated to userfiles_path() and passed through normalize_path(..., false), which did not canonicalize or reject ../ sequences, allowing escape from the intended userfiles directory to anywhere the web server user can read. The upstream fix reads the bound route segment via $request->route('path'), resolves it with realpath(), and enforces that the result stays under realpath(userfiles_path()) using a strncmp prefix check, aborting with 404 otherwise.
Know when Microweber 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Unauthenticated remote GET with no interaction gives AV:N/AC:L/PR:N/UI:N; impact is arbitrary file read so C:H with I:N/A:N and unchanged scope.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Microweber CMS through 2.0.20 contains a path traversal vulnerability in the static file controller that allows unauthenticated remote attackers to read arbitrary files by supplying directory traversal sequences in the path query parameter. Attackers can send a single unauthenticated HTTP GET request exploiting the failure of normalize_path() to strip traversal sequences, disclosing sensitive files such as environment configuration files containing credentials and system files.
Executive ViewAI
Microweber CMS versions 2.0.20 and earlier contain an unauthenticated file-read vulnerability that allows remote attackers to extract sensitive credentials and system configuration files without authentication through a single HTTP request. Any publicly accessible Microweber instance is immediately exploitable, creating direct credential exposure and potential for downstream system compromise.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Deploy WAF rules to block directory traversal sequences in query parameters; (2) Restrict network access to CMS instances via IP allowlisting or VPN-only access; (3) Rotate all credentials stored in environment configuration files as a precaution; (4) Disable or comment out the static file serving feature in the controller if unused; (5) Implement file integrity monitoring and API request logging to detect exploitation attempts.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
More in Microweber
View allAuthenticated arbitrary file disclosure in Microweber CMS 1.2.11 and earlier lets any logged-in user read files from the
Command Injection in GitHub repository microweber/microweber prior to 1.3.3. Rated critical severity (CVSS 9.8), this vu
Authentication Bypass by Spoofing in GitHub repository microweber/microweber prior to 1.2.20. Rated critical severity (C
Static Code Injection in GitHub repository microweber/microweber prior to 1.3. Rated critical severity (CVSS 9.8), this
File Upload vulnerability in Microweber v.2.0.4 allows a remote attacker to execute arbitrary code via a crafted script
Microweber v1.2.15 was discovered to allow attackers to perform an account takeover via a host header injection attack.
Users Account Pre-Takeover or Users Account Takeover. Rated high severity (CVSS 8.8), this vulnerability is remotely exp
Improper Neutralization of Special Elements Used in a Template Engine in GitHub repository microweber/microweber prior t
An issue was discovered in Microweber 1.0.7. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable,
Authenticated administrators can execute arbitrary OS commands on Microweber CMS through 2.0.20 by injecting unsandboxed
SQL injection vulnerability in Category.php in Microweber CMS 0.95 before 20141209 allows remote attackers to execute ar
Microweber 1.1.18 allows Unrestricted File Upload because admin/view:modules/load_module:users#edit-user=1 does not veri
EUVD-2026-48438
GHSA-88w5-8c88-9jhr
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB