CVE-2024-51758: Filament/actions Filament Has Exported Files Stored Vulnerability

LOW
Advisory Identifier: GHSA-4hxw-gc2q-f6f3
CVSS 2.4
CWE-1188
Published
Advisory Summary

CVE-2024-51758 is a LOW (CVSS 2.4) filament has exported files stored vulnerability (CWE-1188: Initialization of a Resource with an Insecure Default) affecting Filament/actions libraries in the Packagist ecosystem. The issue involves filament has exported files stored in default (`public`) filesystem if not reconfigured. Remediation is available by upgrading affected packages to version 3.2.123.

CVE-2024-51758 at a Glance

CVE Identifier CVE-2024-51758
GHSA Identifier GHSA-4hxw-gc2q-f6f3
Severity LOW
CVSS v3.1 Base Score 2.4
CWE Classification CWE-1188: Initialization of a Resource with an Insecure Default
Affected Product Filament/actions
Package Ecosystem Packagist
Published Date
Last Updated

Security Impact

CVSS: 2.4

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:N/A:N).

Attack Vector Network (AV:N)
Attack Complexity Low (AC:L)
Privileges Required High (PR:H)
User Interaction Required (UI:R)
Scope Unchanged (S:U)
Confidentiality Low (C:L)
Integrity None (I:N)
Availability None (A:N)

How to Fix CVE-2024-51758

To remediate this vulnerability, upgrade all affected Filament/actions dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

filament/actions fixed: 3.2.123
Upgrade filament/actions to 3.2.123
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

inspect dependencies for filament/actions

How to Check if You Are Affected

To determine whether your application is affected by CVE-2024-51758, inspect your project dependencies for Filament/actions:

inspect dependencies for filament/actions

Analyze the terminal output to locate any version of Filament/actions in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 3.2.123), your application is affected.

Note: Verify declared build manifests and deployed runtime container environments.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-1188: Initialization of a Resource with an Insecure Default, where the product initializes or sets a resource with a default that is intended to be changed by the product's installer, administrator, or maintainer, but the default is not secure. In Filament/actions, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

All Filament features that interact with storage use the `default_filesystem_disk` config option. This allows the user to easily swap their storage driver to something production-ready like `s3` when deploying their app, without having to touch multiple configuration options and potentially forgetting about some. The default disk is set to `public` when you first install Filament, since this allows users to quickly get started developing with a functional disk that allows features such as file upload previews locally without the need to set up an S3 disk with temporary URL support. However, some features of Filament such as exports also rely on storage, and the files that are stored contain data that should often not be public. This is not an issue for the many deployed applications, since many use a secure default disk such as S3 in production. However, [CWE-1188](https://cwe.mitre.org/data/definitions/1188.html) suggests that having the `public` disk as the default disk in Filament is a security vulnerability itself: > Developers often choose default values that leave the product as open and easy to use as possible out-of-the-box, under the assumption that the administrator can (or should) change the default value. However, this ease-of-use comes at a cost when the default is insecure and the administrator does not change it. As such, we have implemented a measure to protect users whereby if the `public` disk is set as the default disk, the exports feature will automatically swap it out for the `local` disk, if that exists. Users who set the default disk to `local` or `s3` already are not affected. If a user wants to continue to use the `public` disk for exports, they can by [setting the export disk](https://filamentphp.com/docs/3.x/actions/prebuilt-actions/export#customizing-the-storage-disk) deliberately.

CVE-2024-51758 Affected Filament/actions Versions

1 component(s)
Fixed Versions:
3.2.123
Product / Package Ecosystem Affected Versions Fixed Version
filament/actions
Packagist
≥ 3.2.0
< 3.2.123
3.2.123

References

Frequently Asked Questions

What is CVE-2024-51758?
CVE-2024-51758 is a security vulnerability in Filament/actions involving Filament has exported files stored in default (`public`) filesystem if not reconfigured under CWE-1188: Initialization of a Resource with an Insecure Default.
Which Filament/actions versions are affected?
Affected versions include releases prior to 3.2.123 across affected packages: filament/actions.
What version fixes CVE-2024-51758?
Upgrading to 3.2.123 (or the latest patched release for your respective branch) resolves the vulnerability.
Is filament/actions affected?
Yes, filament/actions is affected in releases prior to 3.2.123. Upgrade your dependency to 3.2.123 or later.
What is the CVSS score of CVE-2024-51758?
CVE-2024-51758 has a CVSS v3.1 base score of 2.4 (LOW) with vector string CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:N/A:N.
What CWE is associated with CVE-2024-51758?
CVE-2024-51758 is classified under CWE-1188: Initialization of a Resource with an Insecure Default (The product initializes or sets a resource with a default that is intended to be changed by the product's installer, administrator, or maintainer, but the default is not secure.).
How can I check Packagist dependencies for CVE-2024-51758?
Run the dependency tree command: 'inspect dependencies for filament/actions'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-4hxw-gc2q-f6f3",
  "modified" : "2026-06-08T20:07:05Z",
  "published" : "2024-11-07T16:14:13Z",
  "aliases" : [ "CVE-2024-51758" ],
  "summary" : "Filament has exported files stored in default (`public`) filesystem if not reconfigured",
  "details" : "All Filament features that interact with storage use the `default_filesystem_disk` config option. This allows the user to easily swap their storage driver to something production-ready like `s3` when deploying their app, without having to touch multiple configuration options and potentially forgetting about some.\n\nThe default disk is set to `public` when you first install Filament, since this allows users to quickly get started developing with a functional disk that allows features such as file upload previews locally without the need to set up an S3 disk with temporary URL support.\n\nHowever, some features of Filament such as exports also rely on storage, and the files that are stored contain data that should often not be public. This is not an issue for the many deployed applications, since many use a secure default disk such as S3 in production. However, [CWE-1188](https://cwe.mitre.org/data/definitions/1188.html) suggests that having the `public` disk as the default disk in Filament is a security vulnerability itself:\n\n> Developers often choose default values that leave the product as open and easy to use as possible out-of-the-box, under the assumption that the administrator can (or should) change the default value. However, this ease-of-use comes at a cost when the default is insecure and the administrator does not change it.\n\nAs such, we have implemented a measure to protect users whereby if the `public` disk is set as the default disk, the exports feature will automatically swap it out for the `local` disk, if that exists. Users who set the default disk to `local` or `s3` already are not affected. If a user wants to continue to use the `public` disk for exports, they can by [setting the export disk](https://filamentphp.com/docs/3.x/actions/prebuilt-actions/export#customizing-the-storage-disk) deliberately.",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:N/A:N"
  }, {
    "type" : "CVSS_V4",
    "score" : "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "Packagist",
      "name" : "filament/actions"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "3.2.0"
      }, {
        "fixed" : "3.2.123"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/filamentphp/filament/security/advisories/GHSA-4hxw-gc2q-f6f3"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2024-51758"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/filamentphp/filament/commit/19f5347f0e17d9f4eb515e24ea5632031c6829df"
  }, {
    "type" : "WEB",
    "url" : "https://filamentphp.com/docs/3.x/actions/prebuilt-actions/export#customizing-the-storage-disk"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/filamentphp/filament"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/filamentphp/filament/blob/3.x/packages/actions/src/Exports/Exporter.php#L144-L153"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-1188" ],
    "severity" : "LOW",
    "github_reviewed" : true,
    "github_reviewed_at" : "2024-11-07T16:14:13Z",
    "nvd_published_at" : "2024-11-07T18:15:17Z"
  }
}