CVE-2026-48067: Filament Select Validation Bypass in AttachAction and AssociateAction
Filament, a popular Laravel development framework, contains a vulnerability in how it validates user selections in certain action components. When developers use AttachAction or AssociateAction with a recordSelectOptionsQuery() method to limit which records users can select, the validation step doesn't respect those same limits. This means an authenticated attacker could manipulate the Livewire component state to submit choices that should have been blocked, potentially associating or attaching records they shouldn't have access to. The vulnerability affects Filament versions released between early 4.0.0 and the 4.11.4 / 5.6.4 fixes, as well as tables versions 3.0.0 through 3.3.51.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 6.5 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
- Weaknesses (CWE)
- CWE-639
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-22 / 2026-06-23
NVD description (verbatim)
Filament is a collection of full-stack components for accelerated Laravel development. From filament/actions 4.0.0 until 4.11.4 and 5.6.4 and from filament/tables 3.0.0 until 3.3.51, the recordSelectOptionsQuery() method may be used to scope the options available in the Select field for AttachAction and AssociateAction. However, the built-in validation rule for these fields did not apply the same scope. As a result, a user who can trigger these actions could tamper with the Livewire component's state and submit an out-of-scope value. This vulnerability is fixed in filament/actions 4.11.4 and 5.6.4 and filament/tables 3.3.51.
1 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability stems from a scope validation gap in Filament's AttachAction and AssociateAction components. Developers can call recordSelectOptionsQuery() to apply an Eloquent query scope that restricts which records appear in the Select field's dropdown—for example, filtering by team ownership or active status. However, the built-in validation rule that processes submitted form data does not apply this same scope. An authenticated user with network access can intercept or manipulate the Livewire component's state before submission, injecting an out-of-scope record ID. The server-side validation accepts the tampered value because the validation rule lacks the scope constraint. This is a classic input validation bypass: the UI enforces a restriction that the backend does not. The flaw affects filament/actions versions 4.0.0–4.11.3 and 5.0.0–5.6.3, and filament/tables versions 3.0.0–3.3.50.
Business impact
For applications using Filament's AttachAction or AssociateAction with query scoping, this vulnerability enables privilege escalation and data integrity violations. An authenticated user could attach or associate records they should not have access to—for instance, assigning a customer to a different sales team, linking a product to an unauthorized category, or modifying relational data in ways the application's business logic intended to prevent. The impact is limited to authenticated users (it requires login) and does not expose confidential data directly, but it allows unauthorized modification of application state. The severity depends on the sensitivity of the relationships being managed and the criticality of enforcing data isolation in your application.
Affected systems
Applications built with Laravel and Filament that use the filament/actions package versions 4.0.0–4.11.3 or 5.0.0–5.6.3, or filament/tables versions 3.0.0–3.3.50. The vulnerability is only exploitable if the application uses AttachAction or AssociateAction components with recordSelectOptionsQuery() to limit available options. Applications that do not use these components or do not rely on query scoping for access control are not affected. Verify your composer.lock or require section to confirm which versions are in use.
Exploitability
Exploitability is moderate. An attacker must be an authenticated user with access to trigger the AttachAction or AssociateAction—the vulnerability does not grant unauthenticated access. However, once authenticated, exploiting it requires only basic web inspection or network interception tools to identify the Livewire component's data structure and craft a tampered request. No complex social engineering or exotic techniques are needed. The barrier to exploitation is low for anyone with application access, making this a credible threat if your user base includes adversarial insiders or accounts with low privilege levels that are compromised.
Remediation
Update filament/actions to version 4.11.4 or later (5.6.4 for the v5 series), and filament/tables to version 3.3.51 or later. These patch versions apply the recordSelectOptionsQuery() scope to the validation rule, ensuring that out-of-scope values are rejected at the server side. After updating, clear application caches and restart any long-running processes. For applications that cannot patch immediately, implement additional server-side validation in your action handlers to re-verify that submitted record IDs match the expected scope—do not rely solely on Filament's built-in validation until patched.
Patch guidance
Use composer to update to the fixed versions: run `composer update filament/actions filament/tables` and verify that composer.lock reflects versions 4.11.4+ (or 5.6.4+) for actions and 3.3.51+ for tables. Test in a staging environment first to ensure no custom overrides of the validation rules are affected. If you have extended these components or overridden their validation, audit those customizations to ensure they also apply the query scope. Deploy during a maintenance window if possible, as the update may require a cache clear and application restart. Verify the update by checking `composer show filament/actions filament/tables` in production post-deployment.
Detection guidance
Look for Livewire component state modifications where AttachAction or AssociateAction requests include record IDs that fall outside the scope defined by recordSelectOptionsQuery(). This is challenging without application-level logging, but you can monitor for: (1) database audit logs showing unexpected attachments or associations created by specific users, (2) application logs or Livewire event logs showing validation errors or component state anomalies, (3) network inspection of form submissions to these actions, comparing submitted record IDs against the dropdown options that should have been displayed. Implement application-level logging in your action handlers to capture which records were attached and by whom, and alert on any attachment that does not match the expected scope.
Why prioritize this
Prioritize this patch because it closes a straightforward input validation bypass that any authenticated user could exploit. While the CVSS score of 6.5 (MEDIUM) reflects the requirement for authentication, the ease of exploitation and potential for privilege escalation or data integrity violations warrant prompt attention. Organizations with multi-tenant or fine-grained access control models—where data isolation is critical—should treat this as higher priority. Update within 2–4 weeks; it is not an emergency, but delaying beyond a month increases exposure risk.
Risk score, explained
The CVSS 3.1 score of 6.5 (MEDIUM, CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N) reflects: Network attack vector (AV:N) because Livewire operates over HTTP; low attack complexity (AC:L) because no special conditions are needed; low privilege requirement (PR:L) because the attacker must be authenticated; no user interaction (UI:N); unchanged scope (S:U); no confidentiality impact (C:N); high integrity impact (I:H) because the attacker can modify application state and associations; and no availability impact (A:N). The score correctly captures that this is a data tampering vulnerability requiring authentication, not a critical remote code execution or widespread outage risk.
Frequently asked questions
Do I need to update if I don't use AttachAction or AssociateAction?
No. If your Filament application does not use these action components, you are not affected. Check your codebase for any instantiation of AttachAction or AssociateAction to confirm. If you use only SimpleAction, EditAction, DeleteAction, or other component types without query scoping, this vulnerability does not apply.
What if I use recordSelectOptionsQuery() but my application doesn't permit users to modify their own record associations?
You are still at risk if users can trigger the action through the UI, even if the intended workflow does not normally allow association. An authenticated user could manipulate the Livewire component state before the form is submitted. Patch to close the gap; do not rely on workflow assumptions to block this class of attack.
Can an unauthenticated user exploit this vulnerability?
No. The vulnerability requires an authenticated session. An unauthenticated attacker cannot trigger AttachAction or AssociateAction and therefore cannot exploit it. However, this does not eliminate the risk if your application has many users, weak access controls, or accounts that are compromised.
Will updating Filament break my custom validation logic?
It should not, assuming you have not overridden the built-in validation rule for these actions. However, if you have extended or customized the validation, audit those changes to confirm they also apply the recordSelectOptionsQuery() scope. The patch changes how the validation rule is constructed internally; custom code that relies on the old behavior may need adjustment.
This analysis is provided for informational purposes and is based on the CVE record and vendor advisories available as of the publication date. We do not provide exploit code or weaponized proof-of-concept instructions. Organizations should verify compatibility and test patches in non-production environments before deployment. Consult the official Filament security advisories and your vendor's guidance for the most up-to-date remediation instructions. The accuracy of version numbers, patch status, and remediation steps is subject to vendor updates; always confirm against the latest vendor advisory before taking action. Source: NVD (public-domain), retrieved 2026-07-28. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2023-40200MEDIUMWP Logo Showcase Authorization Bypass Vulnerability (CVSS 5.3)
- CVE-2025-15657MEDIUMUnauthenticated IDOR in School Management – Patch Guidance
- CVE-2026-10023MEDIUMDokan WooCommerce Plugin Order Tampering Vulnerability
- CVE-2026-10038MEDIUMCharitable WordPress Plugin IDOR Arbitrary Attachment Deletion Vulnerability
- CVE-2026-10154MEDIUMDolibarr ERP CRM Authorization Bypass in Messaging Module
- CVE-2026-10212MEDIUMAstrBot 4.24.2 Authorization Bypass via Session ID Manipulation
- CVE-2026-10597MEDIUMOMICARD EDM Unauthenticated Email Disclosure Vulnerability
- CVE-2026-10623MEDIUMPressPrimer Quiz IDOR Vulnerability – Patch Guidance for WordPress Educators