Description
Flight is an extensible micro-framework for PHP. Prior to 3.18.1, the make:controller CLI command calls mkdir(..., recursive: true) on a path built from the user-supplied controller name, before Nette's class-name validation runs. The class-file write is correctly rejected by Nette when the name contains /, but the recursive directory creation side effect is already committed — including directories located outside the project root through ../ traversal. This vulnerability is fixed in 3.18.1.
Published: 2026-05-13
Score: 4.4 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability in Flight’s make:controller command builds a file path directly from user‑supplied input and immediately calls mkdir recursively before the framework’s class‑name validator runs. The mkdir call can therefore create directories that reside outside the intended project root when the input contains path traversal elements such as "../". Because the subsequent write of the controller file is blocked by the validation, no code is directly injected, but the side effect of the directory creation can be leveraged to place benign or malicious files in locations that may be accessed later, potentially aiding future attacks or accidental modifications.

Affected Systems

Any installation of FlightPHP core running a version earlier than 3.18.1 is affected. The fix is included in 3.18.1 and later releases where the directory creation step is guarded by the class‑name validation.

Risk and Exploitability

The CVSS score of 4.4 indicates a moderate level of risk and the vulnerability is not listed in CISA’s KEV catalog, with no EPSS information available. Based on the description, it is inferred that an attacker needs local access to execute the make:controller command through the application’s command‑line interface. Once that access is achieved, the attacker can create arbitrary directories relative to the installation path, but cannot create files within them due to the validation check. While this does not grant immediate code execution or higher privileges, the ability to fabricate directories can serve as a foothold for subsequent attacks, such as placing configuration files or scripts that might later be executed if further vulnerabilities or permission misconfigurations exist. The primary attack vector is thus local privilege exploitation via the CLI.

Generated by OpenCVE AI on May 13, 2026 at 22:40 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Flight core to version 3.18.1 or newer, which moves the class‑name validation before any filesystem operations.
  • If an upgrade cannot be performed immediately, restrict the account that runs make:controller so that it lacks write permission outside the project root, for example by setting stricter filesystem permissions or employing a chroot environment.
  • Validate any custom controller names supplied to the command to ensure they do not contain path traversal characters such as "../" before invoking the command (CWE‑22).

Generated by OpenCVE AI on May 13, 2026 at 22:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-3xjv-pmf2-gf2q Flight has path traversal in `make:controller` CLI that creates arbitrary directories outside project root
History

Thu, 14 May 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 14 May 2026 15:00:00 +0000

Type Values Removed Values Added
First Time appeared Flightphp
Flightphp core
Vendors & Products Flightphp
Flightphp core

Wed, 13 May 2026 20:00:00 +0000

Type Values Removed Values Added
Description Flight is an extensible micro-framework for PHP. Prior to 3.18.1, the make:controller CLI command calls mkdir(..., recursive: true) on a path built from the user-supplied controller name, before Nette's class-name validation runs. The class-file write is correctly rejected by Nette when the name contains /, but the recursive directory creation side effect is already committed — including directories located outside the project root through ../ traversal. This vulnerability is fixed in 3.18.1.
Title Flight: Path traversal in `make:controller` CLI creates arbitrary directories outside project root
Weaknesses CWE-22
References
Metrics cvssV3_1

{'score': 4.4, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-05-14T19:52:29.945Z

Reserved: 2026-04-28T16:56:50.191Z

Link: CVE-2026-42549

cve-icon Vulnrichment

Updated: 2026-05-14T19:05:13.288Z

cve-icon NVD

Status : Deferred

Published: 2026-05-13T20:16:21.927

Modified: 2026-05-14T20:17:04.867

Link: CVE-2026-42549

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-05-14T14:33:40Z

Weaknesses