Exported files stored in default (`public`) filesystem if not reconfigured in filament
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- Low · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub.
Summary
Filament is a collection of full-stack components for accelerated Laravel development. 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. 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 deliberately. This change has been included in the 3.2.123 release and all users who use the `public` disk are advised to upgrade.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| filamentphp | filament | 3.2.0 to before 3.2.123 | 3.2.123 | Patch available | CNA |
| — | filament/actions (Packagist) | 3.2.0 to before 3.2.123 | 3.2.123 | Patch available | GHSA-4hxw-gc2q-f6f3 |
- filament Vendorfilamentphp Affected 3.2.0 to before 3.2.123 Fixed in 3.2.123 Patch available CNA
- filament/actions (Packagist) Vendor— Affected 3.2.0 to before 3.2.123 Fixed in 3.2.123 Patch available GHSA-4hxw-gc2q-f6f3
CPE names CISA-ADP · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:filament:excel_export:*:*:*:*:*:*:*:* | — | — | — |
- cpe:2.3:a:filament:excel_export:*:*:*:*:*:*:*:* Versions — — ·—
Remediation
- Fix · CNA filament (filamentphp) Fixed in 3.2.123
- Fix · GHSA-4hxw-gc2q-f6f3 filament/actions (Packagist) Fixed in 3.2.123 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2024-51758
- 2026-10-03 Alias added: GHSA-4hxw-gc2q-f6f3
References
Other 5
- https://github.com/filamentphp/filament/security/advisories/GHSA-4hxw-gc2q-f6f3
- https://filamentphp.com/docs/3.x/actions/prebuilt-actions/export#customizing-the-storage-disk
- https://github.com/filamentphp/filament/commit/19f5347f0e17d9f4eb515e24ea5632031c6829df
- https://github.com/filamentphp/filament
- https://github.com/filamentphp/filament/blob/3.x/packages/actions/src/Exports/Exporter.php#L144-L153
More filamentphp vulnerabilities
- TI-2026-54081 Filament: App-based MFA can be bypassed when recovery codes are enabled CVSS 3.1HIGH 8.1
- TI-2025-41263 Filament's multi-factor authentication (app) recovery codes can be used multiple times CVSS 3.1HIGH 8.1
- TI-2026-35861 Filament: Unauthenticated temporary file upload on auth pages CVSS 3.1MEDIUM 6.5
- TI-2026-35865 Filament: Multi-factor authentication (app) recovery codes can still be used multiple times via concurrent submission CVSS 3.1HIGH 7.4
- TI-2026-39979 Filament: Disabled RichEditor field state can be used for XSS CVSS 3.1HIGH 7.6
- TI-2026-25522 Filament: Unvalidated Range and Values summarizer values can be used for XSS CVSS 3.1HIGH 7.3
Sources
- CVE-2024-51758 · CVE Program
- CVE-2024-51758 · NVD
- FIRST EPSS
- GHSA-4hxw-gc2q-f6f3 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences