{"id":"CVE-2026-55409","kind":"vulnerability","aliases":["CVE-2026-55409","GHSA-m9cv-24rx-8mv7"],"related":[],"title":"Filament: Disabled RichEditor field state can be used for XSS","description":"In Filament v3, a disabled `RichEditor` field rendered its raw state without sanitizing HTML. Where the data stored in this field's state isn't sanitized already when the form state was filled, an attacker could plant malicious HTML or JavaScript and achieve XSS that executes for users who view the form.\n\nPlease note that Filament v4 and above does not use the same mechanism for rendering a disabled `RichEditor` so this advisory does not apply.","summary":"A disabled RichEditor field in the Filament v3 forms package renders its stored state without sanitizing HTML. If that stored data was never sanitized, an attacker can plant script that runs for users who view the form.","severity":"high","cvss":7.6,"epss":0.00284,"exploited":false,"exploited_at":null,"products":[{"name":"filament/forms","fixed":["3.3.53"],"affected":">= 3.0.0, <= 3.3.52","ecosystem":"composer"}],"ecosystems":["composer"],"tags":["cwe-79","filament","laravel","package","php"],"not_affected_if":["filament-v4-or-later","no-disabled-richeditor","sanitized-stored-content"],"how_to_check":"- Check the installed version: `composer show filament/forms` and confirm whether it is between `3.0.0` and `3.3.52`.\n- Look for forms that use `RichEditor` with `disabled()` and store content that users or outside sources can write to.","fix":"- `filament/forms` fixed in `3.3.53`\n- Filament v4 and above is stated not to use the affected mechanism","status":"open","published_at":"2026-06-17T18:41:12+00:00","first_seen_at":"2026-11-03T19:24:43+00:00","triaged_at":"2026-11-03T19:24:54+00:00","updated_at":"2026-11-03T19:24:54+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-11-03T19:24:54Z","model":"claude-haiku-5-5","output":{"fix":"- `filament/forms` fixed in `3.3.53`\n- Filament v4 and above is stated not to use the affected mechanism","reach":"internet","title":"Filament forms: disabled rich text editor renders unsanitized HTML, enabling XSS","impact":"medium","summary":"A disabled RichEditor field in the Filament v3 forms package renders its stored state without sanitizing HTML. If that stored data was never sanitized, an attacker can plant script that runs for users who view the form.","audience":"developers","category":"package","nicknames":[],"who_cares":["filament","laravel","php"],"confidence":0.8,"fix_status":"available","needs_auth":"unknown","worst_case":"script runs in other users' browsers viewing the form","analyst_note":"","how_to_check":"- Check the installed version: `composer show filament/forms` and confirm whether it is between `3.0.0` and `3.3.52`.\n- Look for forms that use `RichEditor` with `disabled()` and store content that users or outside sources can write to.","plain_action":"","needs_analyst":false,"not_affected_if":["filament-v4-or-later","no-disabled-richeditor","sanitized-stored-content"],"who_is_affected":"Applications on Filament v3 that render a disabled RichEditor field whose stored content was not sanitized when the form state was filled. Filament v4 and above are stated not to be affected by this mechanism. Apps without disabled RichEditor fields on user-writable data are less exposed.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000704,"input_tokens":4287,"output_tokens":550,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-2026':12A,20A '-55409':13A,21A '-79':24B '24rx':17A '8mv7':18A 'achiev':108C 'advisori':138C 'alreadi':92C 'appli':141C 'attack':54B,100C 'could':101C 'cve':11A,19A 'cwe':23B 'data':49B,82C 'disabl':2A,30B,70C,134C 'execut':111C 'field':4A,32B,72C,86C 'filament':1A,25B,35B,67C,121C 'filament/forms':22A 'fill':98C 'form':37B,65B,95C,117C 'ghsa':15A 'ghsa-m9cv-24rx-8mv7':14A 'html':45B,79C,104C 'isn':89C 'javascript':106C 'laravel':26B 'm9cv':16A 'malici':103C 'mechan':130C 'never':51B 'note':119C 'packag':27B,38B 'php':28B 'plant':56B,102C 'pleas':118C 'raw':75C 'render':39B,73C,132C 'richeditor':3A,31B,71C,135C 'run':59B 'sanit':44B,52B,78C,91C 'script':57B 'state':5A,42B,76C,88C,96C 'store':41B,48B,83C 'use':8A,127C 'user':61B,113C 'v3':36B,68C 'v4':122C 'view':63B,115C 'without':43B,77C 'xss':10A,109C","nicknames":[],"mitigations":[],"who_affected":"Applications on Filament v3 that render a disabled RichEditor field whose stored content was not sanitized when the form state was filled. Filament v4 and above are stated not to be affected by this mechanism. Apps without disabled RichEditor fields on user-writable data are less exposed.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":["filamentforms"],"ptokens":["filament","forms"],"labels":["composer","cwe79","filament","high","laravel","package","php"],"campaign_type":null,"first_public_at":"2026-06-17T05:22:57+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N","cvss_by":"GitHub","poc_count":0,"sources":[{"source":"ghsa","external_id":"GHSA-m9cv-24rx-8mv7","url":"https://github.com/advisories/GHSA-m9cv-24rx-8mv7","severity":"high","published_at":"2026-06-17T18:41:12+00:00","modified_at":"2026-11-03T19:20:42+00:00","first_seen_at":"2026-11-03T19:24:43+00:00","fetched_at":"2026-11-03T19:55:32+00:00","note":null},{"source":"nvd","external_id":"CVE-2026-55409","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-55409","severity":null,"published_at":"2026-06-22T22:16:50+00:00","modified_at":"2026-10-25T23:10:00+00:00","first_seen_at":"2026-11-03T19:44:53+00:00","fetched_at":"2026-11-03T19:44:53+00:00","note":null}],"documents":[{"id":60106,"url":"https://api.github.com/repos/filamentphp/filament/security-advisories/GHSA-m9cv-24rx-8mv7","title":"Maintainer's advisory: api.github.com","kind":"vendor","source":"ghsa","publisher":"vendor","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Maintainer's advisory: api.github.com"},{"id":60107,"url":"https://github.com/filamentphp/filament/security/advisories/GHSA-m9cv-24rx-8mv7","title":"Maintainer's advisory: github.com","kind":"vendor","source":"ghsa","publisher":"vendor","text":null,"published_at":"2026-06-17T05:22:57+00:00","relation":"advisory","confidence":null,"note":"Maintainer's advisory: github.com"},{"id":60108,"url":"https://github.com/filamentphp/filament/pull/20029","title":"Patch: github.com","kind":"other","source":"ghsa","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":60109,"url":"https://github.com/filamentphp/filament/releases/tag/v3.3.53","title":"Release: github.com","kind":"release","source":"ghsa","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release: github.com"}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}