{"id":"CVE-2026-97195","aliases":["EUVD-2026-119464","GHSA-47pm-jg2m-gx97"],"status":"published","title":"Secure Custom Fields \u003c 6.9.8 - Admin+ Stored XSS via HTML Attribute Name Injection into Field Definition","description":"The Secure Custom Fields WordPress plugin before 6.9.8 does not sanitize a persisted field definition before emitting part of it as an HTML attribute name, allowing a user able to configure its fields to store a payload that executes as JavaScript in the browser of any user who views a page rendering the affected field, which on multisite lets a site administrator who lacks the unfiltered_html capability inject script into other users' sessions.","severity":{"version":"3.1","score":3.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-11","score":0.00142,"percentile":0.03622,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-79"],"published":"2026-11-08T06:00:28Z","modified":"2026-11-08T19:05:28Z","products":[{"vendor":"unknown","product":"secure custom fields"}],"references":[{"url":"https://wpscan.com/vulnerability/a2fb296c-e7f4-4a40-b503-aa709c7b88bb/","tags":["exploit","vdb-entry","technical-description"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-97195"},{"url":"https://wpscan.com/vulnerability/a2fb296c-e7f4-4a40-b503-aa709c7b88bb"},{"url":"https://github.com/advisories/GHSA-47pm-jg2m-gx97"}],"sources":{"cve":[{"id":"CVE-2026-97195","title":"Secure Custom Fields \u003c 6.9.8 - Admin+ Stored XSS via HTML Attribute Name Injection into Field Definition","description":"The Secure Custom Fields WordPress plugin before 6.9.8 does not sanitize a persisted field definition before emitting part of it as an HTML attribute name, allowing a user able to configure its fields to store a payload that executes as JavaScript in the browser of any user who views a page rendering the affected field, which on multisite lets a site administrator who lacks the unfiltered_html capability inject script into other users' sessions.","status":"published","published":"2026-11-08T06:00:28.542Z","modified":"2026-11-08T19:05:28.489Z","cvss":[{"version":"3.1","score":3.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low","assessor":"adp"}],"cwes":["CWE-79"],"updated_at":"2026-11-08T20:44:32.128624Z"}],"euvd":[{"id":"EUVD-2026-119464","description":"The Secure Custom Fields WordPress plugin before 6.9.8 does not sanitize a persisted field definition before emitting part of it as an HTML attribute name, allowing a user able to configure its fields to store a payload that executes as JavaScript in the browser of any user who views a page rendering the affected field, which on multisite lets a site administrator who lacks the unfiltered_html capability inject script into other users' sessions.","status":"published","published":"2026-11-08T06:00:28Z","modified":"2026-11-08T19:05:28Z","cvss":[{"version":"3.1","score":3.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low"}],"updated_at":"2026-11-08T20:13:56.600577Z"}],"ghsa":[{"id":"GHSA-47pm-jg2m-gx97","title":"The Secure Custom Fields WordPress plugin before 6.9.8 does not sanitize a persisted field...","description":"The Secure Custom Fields WordPress plugin before 6.9.8 does not sanitize a persisted field definition before emitting part of it as an HTML attribute name, allowing a user able to configure its fields to store a payload that executes as JavaScript in the browser of any user who views a page rendering the affected field, which on multisite lets a site administrator who lacks the unfiltered_html capability inject script into other users' sessions.","status":"published","published":"2026-11-08T06:30:23Z","modified":"2026-11-08T21:30:33Z","cvss":[{"version":"3.1","score":3.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low"}],"cwes":["CWE-79"],"updated_at":"2026-11-08T21:44:55.230767Z"}],"nvd":[{"id":"CVE-2026-97195","description":"The Secure Custom Fields WordPress plugin before 6.9.8 does not sanitize a persisted field definition before emitting part of it as an HTML attribute name, allowing a user able to configure its fields to store a payload that executes as JavaScript in the browser of any user who views a page rendering the affected field, which on multisite lets a site administrator who lacks the unfiltered_html capability inject script into other users' sessions.","status":"published","published":"2026-11-08T06:17:06.35Z","modified":"2026-11-10T16:28:46.51Z","cvss":[{"version":"3.1","score":3.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N","level":"low","assessor":"secondary"}],"cwes":["CWE-79"],"updated_at":"2026-11-08T22:11:13.623406Z"}]}}
