/

CVE-2026-100520

Severity:

HIGH RISK

(8.8)

Path Traversal (CWE-22) in Laranode File Manager Upload

CVE-2026-100520

Deferred

Vulnerability type

Category:

Path Traversal

CWE:

CWE-22

Impact:

Arbitrary File Write and Cross-Tenant Code Execution

Severity:

HIGH RISK

(8.8)

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

Laranode versions before 1.2.1 contain a path traversal vulnerability in the file upload endpoint. An authenticated attacker may use manipulated path values to write files outside their home directory, potentially placing executable PHP files in another tenant's web root.

Affected context

The vulnerability occurs in Laranode's file manager upload workflow when the server accepts a client-controlled path parameter without sufficiently constraining it to the authenticated user's home directory. Risk is increased in multi-tenant deployments where tenant web roots are accessible through the same application and uploaded PHP files can be executed by the web server.

Exploit preconditions

  • Attack surface: The authenticated POST /filemanager/upload-file endpoint
  • Required access: A valid user account with permission to upload files
  • Trigger point: Server-side processing of the upload path parameter
  • Why exploitation is possible: Path values are not adequately confined to the user's intended directory, allowing writes to locations outside that directory

Why this happens

The underlying bug is improper neutralization of path elements supplied through an upload request. The application uses attacker-influenced path data to determine the destination without reliably canonicalizing the path and enforcing that the resolved location remains within the authorized directory. This behavior maps to CWE-22: Improper Limitation of a Pathname to a Restricted Directory, commonly known as path traversal.

Potential impact

  • An attacker may write arbitrary files outside their assigned home directory.
  • Malicious files could be placed in another tenant's web root.
  • The web server may execute uploaded PHP code with application-level privileges.
  • Cross-tenant data or application integrity may be compromised.
  • The affected host may be used for persistence, defacement, or further attacks.

General mitigation guidance

Mitigation generally focuses on treating upload destinations as server-controlled resources rather than trusting client-provided paths.

Common defensive patterns include:

  • Resolve and canonicalize candidate paths before writing, then enforce containment within an approved directory.
  • Prefer server-generated identifiers and fixed storage locations instead of accepting directory paths from clients.
  • Apply allowlists for permitted filenames, extensions, and destination mappings.
  • Store uploaded content outside executable web roots where possible.
  • Disable script execution in upload directories and serve content with non-executable handling.
  • Enforce tenant isolation and least-privilege filesystem permissions.
  • Use authorization checks that bind every upload destination to the authenticated tenant.

How teams detect issues like this

Organizations can identify similar weaknesses through:

  • Static analysis rules for filesystem APIs that combine user-controlled input with write paths.
  • Code review checks for missing canonicalization, containment validation, or tenant-bound authorization.
  • Dynamic testing with path variations and encoded traversal representations in isolated environments.
  • Web application firewall or gateway policies that detect suspicious traversal patterns.
  • File-integrity monitoring for unexpected writes in web roots and other tenant directories.
  • Automated security review tools that flag upload handlers accepting unrestricted destination paths.

Sources

SourceLink
github.comgithub.com/crivion/laranode
github.comgithub.com/crivion/laranode/blob/v1.2/app/Actions/Filemanager/UploadFileAction.php
github.comgithub.com/crivion/laranode/commit/5c2b18ae99caf77a6fb6cc5c0ab66562bd673424
github.comgithub.com/crivion/laranode/pull/21
github.comgithub.com/crivion/laranode/releases/tag/v1.2.1
github.comgithub.com/crivion/laranode/security/advisories/GHSA-34h2-2696-vfvr
vulncheck.comvulncheck.com/advisories/laranode-before-1.2.1-path-traversal-in-file-manager-upload-endpoint

Frequently asked

questions

Yes, an attacker may be able to exploit it through the exposed upload endpoint, but a valid authenticated account and upload permission are generally required.

No. Code execution depends on whether the attacker can write to an executable web location and whether the server is configured to process the resulting file type.

Bind upload destinations to server-controlled directories, canonicalize resolved paths, and verify that each destination remains within the authenticated tenant's allowed storage boundary.

Use least-privilege filesystem permissions, keep uploads outside executable web roots, enforce strict tenant authorization, and test upload handlers for path manipulation during code review and security testing.

Find out what's already
exploitable in your codebase.