{"id":"CVE-2026-15047","aliases":["EUVD-2026-54995","GHSA-7g36-jx9h-h5j4"],"status":"published","title":"s2Member \u003c 260805 - Contributor+ Stored XSS via Shortcode","description":"The s2Member  WordPress plugin before 260805 does not escape several shortcode attributes before outputting them inside an inline script context, allowing users with contributor-level access to inject arbitrary JavaScript that executes when a viewer opens the post (stored XSS).","severity":{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H","level":"medium","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-10","score":0.00431,"percentile":0.37651,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-79"],"published":"2026-08-10T06:00:19Z","modified":"2026-08-26T16:31:16Z","products":[{"vendor":"cristián lávaque","product":"s2member"},{"vendor":"unknown","product":"s2member"}],"references":[{"url":"https://wpscan.com/vulnerability/79e830c3-232b-4eff-8cf1-d25c5310984c/","tags":["exploit","vdb-entry","technical-description"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-15047"},{"url":"https://wpscan.com/vulnerability/79e830c3-232b-4eff-8cf1-d25c5310984c"},{"url":"https://github.com/advisories/GHSA-7g36-jx9h-h5j4"}],"sources":{"cve":[{"id":"CVE-2026-15047","title":"s2Member \u003c 260805 - Contributor+ Stored XSS via Shortcode","description":"The s2Member  WordPress plugin before 260805 does not escape several shortcode attributes before outputting them inside an inline script context, allowing users with contributor-level access to inject arbitrary JavaScript that executes when a viewer opens the post (stored XSS).","status":"published","published":"2026-08-10T06:00:19.129Z","modified":"2026-08-11T15:00:35.637Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H","level":"medium","assessor":"adp"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T13:47:51.033687Z"}],"euvd":[{"id":"EUVD-2026-54995","description":"The s2Member  WordPress plugin before 260805 does not escape several shortcode attributes before outputting them inside an inline script context, allowing users with contributor-level access to inject arbitrary JavaScript that executes when a viewer opens the post (stored XSS).","status":"published","published":"2026-08-10T06:00:19Z","modified":"2026-08-11T15:00:35Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H","level":"medium"}],"updated_at":"2026-11-02T18:01:59.926728Z"}],"ghsa":[{"id":"GHSA-7g36-jx9h-h5j4","title":"The s2Member  WordPress plugin before 260805 does not escape several shortcode attributes before...","description":"The s2Member  WordPress plugin before 260805 does not escape several shortcode attributes before outputting them inside an inline script context, allowing users with contributor-level access to inject arbitrary JavaScript that executes when a viewer opens the post (stored XSS).","status":"published","published":"2026-08-10T09:31:21Z","modified":"2026-08-11T18:31:44Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:10:20.045782Z"}],"nvd":[{"id":"CVE-2026-15047","description":"The s2Member  WordPress plugin before 260805 does not escape several shortcode attributes before outputting them inside an inline script context, allowing users with contributor-level access to inject arbitrary JavaScript that executes when a viewer opens the post (stored XSS).","status":"published","published":"2026-08-10T07:16:47.493Z","modified":"2026-08-26T16:31:16.753Z","cvss":[{"version":"3.1","score":6.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:H","level":"medium","assessor":"secondary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:12:35.743275Z"}]}}
