Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach /doc endpoint remotely
-
DeliveryInject traversal sequences in uri_string
-
ExploitBypass URI sanitizer in doc.php _detail
-
ExecutionResolve path outside doc root
-
ImpactRead and disclose file contents
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 targets the documentation feature: the _detail handler in application/controllers/doc.php builds a filesystem path from the attacker-controlled uri_string without a canonicalization/boundary check, so manipulating that argument with traversal sequences lets a request escape the intended dirname(APPPATH)/doc/<docPath> root. Per the CVSS vector (AV:N/PR:N/UI:N) the attack is remote and requires no authentication or user interaction against a default-configured instance that exposes the /doc routes. Limiting factors: impact is read-only information disclosure (VC:L; no integrity/availability effect), the vulnerable code path is the documentation controller, and the fix constrains resolved paths to the doc root via realpath and enforces .md/.png extension patterns - confirming the pre-patch exposure was reachable through normal document/menu/image resolution rather than requiring special configuration. |
| Impact | This is a moderate-severity, limited-impact issue rather than a top-tier emergency. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes a remotely reachable, low-complexity flaw requiring no privileges or user interaction, but the impact is confined to confidentiality at Low (VC:L; VI:N/VA:N), consistent with a path-traversal file-read in the documentation controller. Exploit maturity in the vector is E:P (proof-of-concept), and the multi-source intelligence lists the PoC as a reference only, not verified as working exploit code - so a public PoC reference exists, but it is not confirmed as functioning exploit code. There is no CISA KEV listing and no EPSS score in the provided data, so widespread or automated exploitation cannot be asserted; the absence of EPSS/KEV is a data gap, not evidence of safety. The vendor's priority signal is this_month (not act_now/emergency), which aligns with the low confidentiality-only impact and niche product. Net: a genuine but low-urgency remote information-disclosure issue - patch on a normal maintenance cycle rather than as a fire drill, while recognizing the low attack barrier means it is easy to attempt if a working exploit is produced. |
| Exploit ScenarioDerived | A remote, unauthenticated attacker sends a crafted request to the documentation endpoint handled by doc.php, placing traversal sequences in the uri_string argument so the URI sanitizer resolves a path outside the intended doc root. The server then returns the contents of a file it should not expose, yielding information disclosure. A public PoC reference exists but is not verified as working exploit code, so real-world reliability is unconfirmed. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 26, 2026
Unauthenticated path traversal in the documentation controller of PGYER CodeFever lets remote attackers read files outside the intended documentation root via crafted URI segments. The flaw sits in the _detail handler of application/controllers/doc.php, where the attacker-controlled uri_string is concatenated into a filesystem path without canonicalization or a directory boundary check; impact is limited to read-only information disclosure with no integrity or availability effect (assessed CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N, 5.5). CodeFever ships as a rolling release, so no fixed version numbers exist - the upstream fix is commit e4433eee96883a222403854e8ac38b3146774a07 (PR #226); a public PoC reference exists but is not verified as working exploit code, and the issue is not reported as actively exploited.
RemediationAI
Vendor-released patch: commit e4433eee96883a222403854e8ac38b3146774a07, merged via https://github.com/PGYER/codefever/pull/226. Because CodeFever is a rolling-release project without tagged fix versions, the actionable step is to update the deployment to a master revision at or after that commit and redeploy; the patch canonicalizes documentation paths with realpath(), enforces a doc-root boundary including the directory separator, rejects NUL bytes, and restricts served files to .md documents and 32-hex-named .png images. After updating, run the bundled regression test (php tests/security/doc_path_test.php) and perform the deployment smoke checks described in tests/security/README.md: confirm /doc/cn/ and /doc/en/ still redirect to their welcome documents, that normal documentation images still load, and that a request aimed at a disposable file outside the documentation root returns 404 without disclosing contents. If the update cannot be applied immediately, restrict or disable the /doc routes at the web server or reverse proxy as a compensating control, accepting that the in-app documentation UI becomes unavailable to all users; do not rely on blocking individual traversal strings, since the flaw also covers encoded variants, sibling-directory prefix collisions and symlink escapes. Patch references: https://github.com/PGYER/codefever/commit/e4433eee96883a222403854e8ac38b3146774a07 and https://github.com/PGYER/codefever/pull/226.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
CodeFever is a PHP web application built on a CodeIgniter-style MVC structure (APPPATH constant, application/controllers, URI segments exposed as uri_string). The documented root cause class is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory), and the vulnerable pattern is in application/controllers/doc.php: _detail() assembled the target path as implode('/', [dirname(APPPATH), 'doc', $docPath]) and then appended further URI-derived segments and menu/image paths with no realpath() canonicalization and no prefix boundary check, so traversal sequences (and sibling-directory prefix collisions or symlinks) resolved outside dirname(APPPATH)/doc. The upstream patch is instructive about the pre-patch weakness: it introduces realpath() based resolution with a __construct-time docRoot, a boundary comparison that includes the trailing DIRECTORY_SEPARATOR to defeat prefix collisions, rejection of NUL bytes in paths, an is_readable() check, enforcement that resolved targets are files (or directories only where explicitly allowed), restriction of readable content to .md files, and a ^\w{32}\.png$ basename rule for images. A bundled regression test (tests/security/doc_path_test.php) exercises sequential URI replacement bypass, deeper traversal, sibling-prefix collisions, external symlinks, non-Markdown files and NUL bytes, confirming these were the reachable bypass classes. Authentication requirements: the supplied vector contains PR:N, so the attack is unauthenticated and remote, and the vulnerable /doc routes must be exposed by the deployment.
Know when Codefever 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:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P
Remote, no-auth, low-complexity reach of the /doc path (AV:N/AC:L/PR:N/UI:N); read-only traversal gives limited confidentiality impact (C:L) with no integrity or availability effect.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability has been found in PGYER codefever up to 0c35e60f006f9d558cc33a159baf110659351990. Affected is the function _detail of the file application/controllers/doc.php of the component URI Sanitizer. The manipulation of the argument uri_string leads to path traversal. The attack may be initiated remotely. The exploit has been disclosed to the public and may be used. This product uses a rolling release model to deliver continuous updates. As a result, specific version information for affected or updated releases is not available. The identifier of the patch is e4433eee96883a222403854e8ac38b3146774a07. Applying a patch is the recommended action to fix this issue.
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.
codefever before 2023.2.7-commit-b1c2e7f was discovered to contain a remote code execution (RCE) vulnerability via the c
An issue in PGYER codefever v.2023.8.14-2ce4006 allows a remote attacker to execute arbitrary code via a crafted request
EUVD-2026-109713
GHSA-6c57-xg7f-f8g9
NVD
CVE.org
EPSS
VulDB
Exploit-DB