Skip to main content

Laravel Voyager CVE-2020-37214

HIGH
Path Traversal (CWE-22)
2026-02-11 disclosure@vulncheck.com
8.7
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Access
    Identify exposed Voyager 1.3.0 instance
  2. Delivery
    Craft traversal payload in path parameter
  3. Exploit
    Request /admin/voyager-assets?path=../../.env
  4. Execution
    Read arbitrary files (.env, /etc/passwd)
  5. Persist
    Harvest APP_KEY/DB credentials
  6. Impact
    Pivot to deeper compromise

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

Requires a deployed instance of Voyager 1.3.0 (the-control-group/voyager Laravel admin package) with the /admin/voyager-assets asset-serving endpoint reachable by the attacker. Per the CVSS vector exploitation is remote and unauthenticated (PR:N, UI:N, AC:L) with no special configuration needed beyond the vulnerable version being present and the voyager-assets route being network-accessible. Limiting factors: impact is read-only file disclosure (no write/RCE directly), and value depends on sensitive files being readable by the web-server user (e.g., Laravel .env typically is). Defenders should verify whether their deployment places the voyager-assets route behind authentication, since the '/admin' path prefix may differ from the stated unauthenticated reachability.

Impact

This is a credible, actionable issue despite not reaching emergency status. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) describes a remote, unauthenticated, low-complexity attack with no user interaction, and the impact is confidentiality-only (VC:H, VI:N, VA:N) - consistent with a path-traversal arbitrary-file-read. The EPSS score of 0.30% (53rd percentile) is modest, indicating no sign of broad automated mass-exploitation, but this understates practical risk because a public exploit DOES exist (Exploit-DB 47875) AND a ProjectDiscovery nuclei template (voyager-lfi.yaml) exists, meaning the flaw is trivially scannable at scale by opportunistic actors. It is NOT in CISA KEV, so there is no confirmation of active in-the-wild exploitation. Net: moderate CVSS (8.7) that is a genuine priority wherever Voyager 1.3.0 is internet-exposed, because the combination of unauthenticated access and turnkey tooling lowers the bar considerably; the main thing capping real-world severity is the limited (read-only) impact and the moderate deployment footprint of the product. One nuance to verify: the vulnerable route is /admin/voyager-assets, whose '/admin' prefix might suggest an authenticated area, yet the CVSS vector asserts PR:N (unauthenticated) - this is consistent with Voyager serving static assets through an unauthenticated route, but operators should confirm their deployment does not gate this route behind auth.

Exploit ScenarioDerived

A remote attacker with no credentials sends a GET request to /admin/voyager-assets with a traversal sequence in the 'path' parameter (e.g. ../../../../etc/passwd or ../../.env) and the application returns the file contents. Reading the Laravel .env file discloses APP_KEY, database credentials, and API secrets, enabling follow-on compromise. A public exploit (Exploit-DB 47875) and a nuclei detection template exist, making this point-and-shoot against exposed instances.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.3% exploitation probability (EPSS)

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

Alert me

AnalysisAIv2 – Oct 01, 2026

Unauthenticated directory traversal in the Laravel Voyager admin package (the-control-group/voyager) version 1.3.0 allows remote attackers to read arbitrary files from the server by manipulating the asset path parameter on the /admin/voyager-assets endpoint, exposing sensitive content such as /etc/passwd and Laravel .env configuration files. Exploitation requires only that a vulnerable instance be deployed with the voyager-assets route reachable over the network; according to the assessed CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/C:H/I:N/A:N), no credentials, user interaction, or special configuration are needed, and the impact is read-only information disclosure with no direct write or code-execution path. Publicly available exploit code exists (Exploit-DB 47875 and a ProjectDiscovery Nuclei template), so weaponized tooling is readily obtainable, though there is no confirmed actively exploited (CISA KEV) status and EPSS is modest at 0.30% (53rd percentile), placing this as a credible, actionable issue rather than an emergency.

Earlier versions of this analysis (1)
v1 Mar 12, 2026 - 22:02 CVSS 7.5

Voyager 1.3.0 contains a directory traversal vulnerability that allows attackers to access sensitive system files by manipulating the asset path parameter. Attackers can exploit the path parameter in /admin/voyager-assets to read arbitrary files like /etc/passwd and .env configuration files. [CVSS 7.5 HIGH]

RemediationAI

Patch status is not confirmed from the available data: the references supplied are GitHub release tags (v1.2.7 and v1.3.0) rather than a release explicitly labeled as the security fix, so there is no vendor-released patch version to cite with confidence - upgrade to the latest available Voyager release past 1.3.0 and verify the fix against the advisory at https://www.vulncheck.com/advisories/voyager-directory-traversal before considering the issue closed. Until a fixed version is validated, apply compensating controls: move the /admin/voyager-assets route behind authentication and authorization middleware in Laravel (side effect: the Voyager admin UI's own asset loading must run in an authenticated session, which is normally the case but must be tested), and where that is not feasible, restrict the route at the reverse proxy or WAF - for example an nginx location block on /admin/voyager-assets allowing only trusted admin IP ranges and returning 403 for everything else, or a rule rejecting path parameters containing '../' or encoded traversal sequences (trade-off: an overly broad block breaks admin theme and BREAD asset rendering). Harden the file layer by validating the asset path with realpath() and enforcing that the resolved path remains inside the intended assets directory, and by tightening file permissions so the PHP/web-server user cannot read files it does not need. Because .env disclosure is the primary risk, treat any confirmed exploitation as a credential compromise: rotate APP_KEY, database, mail, and third-party API secrets, and review access logs for requests to /admin/voyager-assets with traversal payloads. The publicly available Exploit-DB entry (https://www.exploit-db.com/exploits/47875) and the Nuclei template at https://github.com/projectdiscovery/nuclei-templates/blob/main/http/vulnerabilities/other/voyager-lfi.yaml can be used to build a safe detection or verification test against your own instances.

Affected ProductsAI

The affected product is the Laravel admin package Voyager (the-control-group/voyager), specifically version 1.3.0, which contains the vulnerable /admin/voyager-assets asset-serving endpoint; any Laravel application that has this package installed at that version and exposes the route to untrusted networks is in scope. The supplied references point to the project's GitHub release tags https://github.com/the-control-group/voyager/releases/tag/v1.3.0 and https://github.com/the-control-group/voyager/releases/tag/v1.2.7 (the latter described in its release notes as the final v1.2 release), plus the project homepage https://voyager.devdojo.com/ and the vendor advisory https://www.vulncheck.com/advisories/voyager-directory-traversal. Because no formal CPE or explicit version-range data was provided, downstream operators should inventory Composer dependencies for the-control-group/voyager and confirm the installed version and route exposure rather than relying on CPE-based scanning alone.

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

The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory, i.e. path traversal), implemented here as a local file inclusion vector inside Voyager's asset-serving route. Voyager is a Laravel-based administration/BREAD panel distributed as the Composer package the-control-group/voyager; its /admin/voyager-assets endpoint is designed to serve admin theme assets to the browser and accepts a caller-supplied path value. Because that value is passed to the underlying file-read logic without canonicalization or confinement to an assets directory, sequences such as ../ can escape the intended base path and resolve to arbitrary files on disk that are readable by the PHP/web-server user, which typically includes the application's Laravel .env file and system files like /etc/passwd. The vulnerability class is read-only file disclosure (VC:H with VI:N/VA:N in the assessed vector), so encryption of configuration secrets, database credentials, APP_KEY, and mail/SMTP credentials in .env makes exposure of that single file a meaningful secondary risk. Note that the supplied NVD CVSS 4.0 score is 8.7 while the authoritative internal assessment applies CVSS 3.1 with S:U/C:H/I:N/A:N; both agree on remote, low-complexity, unauthenticated access with high confidentiality impact, and the assessment adds the operational caveat that real-world reachability depends on whether the deployment exposes the voyager-assets route (the '/admin' prefix notwithstanding). No CPE strings were supplied, so affected scope is identified by package name and version rather than formal CPE matching.

Know when Laravel 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 (vulncheck) PRIMARY 8.7 HIGH
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
vuln.today AI 7.5 HIGH

Remote unauthenticated path traversal (AV:N/AC:L/PR:N/UI:N) yielding arbitrary file read of sensitive files, so C:H with no integrity or availability impact.

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

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

4
Analysis Updated
Oct 01, 2026 - 15:30 vuln.today
v2 - CVSS changed
CVSS changed
Oct 01, 2026 - 15:22 NVD
7.5 (HIGH) 8.7 (HIGH)
PoC Detected
Feb 12, 2026 - 15:10 vuln.today
Public exploit code
CVE Published
Feb 11, 2026 - 21:16 nvd
HIGH 7.5

DescriptionCVE.org

Voyager 1.3.0 contains a directory traversal vulnerability that allows attackers to access sensitive system files by manipulating the asset path parameter. Attackers can exploit the path parameter in /admin/voyager-assets to read arbitrary files like /etc/passwd and .env configuration files.

Executive ViewAI

Why It Matters

Organizations running the third-party Laravel Voyager admin package at version 1.3.0 expose a network-reachable file-read weakness that requires no login, letting anyone who can reach the admin assets route pull server-side files such as .env configuration and /etc/passwd. Because .env files typically hold database credentials, API keys, and application secrets, the practical consequence is not just data exposure but a credible path to broader credential compromise and lateral movement into backend systems. Publicly available exploit code exists, so the skill barrier to abuse is low, though there is no confirmed actively exploited (CISA KEV) status and observed exploitation activity remains modest at an EPSS of 0.30%.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: block or disable the /admin/voyager-assets route at the WAF/reverse proxy; restrict all admin endpoints to VPN or allow-listed source IPs; remove the package if not required; rotate secrets from .env that may have been exposed; confirm .env sits outside the web root; and monitor for traversal patterns against admin asset paths.

Threat Intelligence Overview

EPSS Score
0.3%
Top 47% exploitable
Prevalence
Low
popular open-source Laravel admin package but niche production footprint
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium
NVD CVE.org EPSS Exploit-DB GitHub VulDB

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 HIGH
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
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
Out-of-Cycle
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

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

Attack Technique

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

CVE-2017-16894 HIGH POC
7.5 Nov 20

In Laravel framework through 5.5.21, remote attackers can obtain sensitive information (such as externally usable passwo

CVE-2025-54068 CRITICAL POC
9.8 Jul 17

Laravel Livewire v3 through v3.6.3 contains a critical remote code execution vulnerability (CVE-2025-54068, CVSS 9.8) th

CVE-2025-53833 CRITICAL POC
10.0 Jul 14

LaRecipe versions prior to 2.8.1 contain a Server-Side Template Injection (SSTI) vulnerability that can lead to Remote C

CVE-2026-28289 CRITICAL POC
10.0 Mar 03

File upload bypass in FreeScout 1.8.206 — patch bypass for CVE-2026-27636. PoC and patch available. CVSS 10.0.

CVE-2026-27636 HIGH POC
8.8 Feb 25

Remote code execution in FreeScout prior to version 1.8.206 allows authenticated users to upload `.htaccess` files that

CVE-2018-15133 HIGH POC
8.1 Aug 09

In Laravel Framework through 5.5.40 and 5.6.x through 5.6.29, remote code execution might occur as a result of an unseri

CVE-2025-70841 CRITICAL POC
10.0 Feb 03

Dokans SaaS e-commerce platform v3.9.2 has a CVSS 10.0 authentication bypass allowing unauthenticated attackers to obtai

CVE-2026-27637 CRITICAL POC
9.8 Feb 25

Predictable password reset tokens in FreeScout help desk before 1.8.206. Weak random number generation allows attackers

CVE-2026-21448 CRITICAL POC
9.8 Jan 02

Bagisto eCommerce platform before 2.3.10 is vulnerable to server-side template injection (SSTI) through customer address

CVE-2026-21446 CRITICAL POC
9.8 Jan 02

Bagisto eCommerce platform (2.3 branch before 2.3.10) leaves installation API routes active after setup, allowing unauth

CVE-2022-2870 CRITICAL POC
9.8 Aug 17

A vulnerability was found in laravel 5.1 and classified as problematic. Rated critical severity (CVSS 9.8), this vulnera

CVE-2026-114509 CRITICAL POC
9.2 Oct 21

Laravel TokenGuard authentication bypass is a genuine high-priority issue, not an inflated CVSS score: unauthenticated a

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