{"id":"CVE-2026-87948","kind":"vulnerability","aliases":["CVE-2026-87948"],"related":[],"title":"Drupal SAML SSO Service Provider: cross-site scripting via input handling","description":"Improper Neutralization of Input During Web Page Generation (\"Cross-site Scripting\") vulnerability in Drupal SAML SSO - Service Provider  allows Cross-Site Scripting (XSS). This issue affects SAML SSO - Service Provider  versions: from 0.0.0 to 3.2.0.","summary":"The Drupal SAML SSO - Service Provider module fails to neutralize some input when generating web pages, allowing cross-site scripting. An attacker who gets a crafted input rendered in a page can run script in a victim's browser session.","severity":"low","cvss":3.5,"epss":0.00173,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["drupal","package","saml-sso","self-hosted"],"not_affected_if":["module-not-installed"],"how_to_check":"- Check the installed version of the SAML SSO - Service Provider module with `drush pm:list --filter=saml` or by reading the module's info file.\n- Confirm whether the version is `3.2.0` or earlier.","fix":"- Upgrade the Drupal SAML SSO - Service Provider module to a version later than `3.2.0`, as published on drupal.org.","status":"open","published_at":"2026-10-22T02:17:04+00:00","first_seen_at":"2026-10-23T21:57:30+00:00","triaged_at":"2026-10-25T04:45:38+00:00","updated_at":"2026-10-25T04:45:38+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-25T04:45:38Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade the Drupal SAML SSO - Service Provider module to a version later than `3.2.0`, as published on drupal.org.","reach":"internet","title":"Drupal SAML SSO Service Provider: cross-site scripting via input handling","impact":"medium","summary":"The Drupal SAML SSO - Service Provider module fails to neutralize some input when generating web pages, allowing cross-site scripting. An attacker who gets a crafted input rendered in a page can run script in a victim's browser session.","category":"package","nicknames":[],"who_cares":["drupal","saml-sso","self-hosted"],"confidence":0.6,"needs_auth":"unknown","worst_case":"script runs in a user's browser on the site","analyst_note":"","how_to_check":"- Check the installed version of the SAML SSO - Service Provider module with `drush pm:list --filter=saml` or by reading the module's info file.\n- Confirm whether the version is `3.2.0` or earlier.","needs_analyst":false,"not_affected_if":["module-not-installed"],"who_is_affected":"Sites running the Drupal SAML SSO - Service Provider module at version `3.2.0` or earlier are affected. The sources do not describe which input or configuration triggers the flaw, so teams should assume any site with the module installed is in scope.","user_interaction":"unknown","needs_special_setup":"unknown","severity_if_unknown":"low"},"cost_usd":0.000584,"input_tokens":3372,"output_tokens":493,"severity_before":"low"},"analyst_status":null,"analyst_note":null,"search":"'-2026':14A,17A '-87948':15A,18A '0.0.0':102C '3.2.0':104C 'affect':95C 'allow':43B,87C 'attack':49B 'browser':66B 'craft':53B 'cross':7A,45B,77C,89C 'cross-sit':6A,44B,76C,88C 'cve':13A,16A 'drupal':1A,19B,28B,82C 'fail':34B 'generat':40B,75C 'get':51B 'handl':12A 'host':26B 'improp':68C 'input':11A,38B,54B,71C 'issu':94C 'modul':33B 'neutral':36B,69C 'packag':20B 'page':42B,58B,74C 'provid':5A,32B,86C,99C 'render':55B 'run':60B 'saml':2A,22B,29B,83C,96C 'saml-sso':21B 'script':9A,47B,61B,79C,91C 'self':25B 'self-host':24B 'servic':4A,31B,85C,98C 'session':67B 'site':8A,46B,78C,90C 'sso':3A,23B,30B,84C,97C 'version':100C 'via':10A 'victim':64B 'vulner':80C 'web':41B,73C 'xss':92C","nicknames":[],"mitigations":[],"who_affected":"Sites running the Drupal SAML SSO - Service Provider module at version `3.2.0` or earlier are affected. The sources do not describe which input or configuration triggers the flaw, so teams should assume any site with the module installed is in scope.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-22T02:17:04+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N","cvss_by":"134c704f-9b21-4f2e-91b3-4a467353bcc0","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-87948","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-87948","severity":null,"published_at":"2026-10-22T02:17:04+00:00","modified_at":"2026-10-22T17:17:01+00:00","first_seen_at":"2026-10-23T21:57:30+00:00","fetched_at":"2026-10-23T22:29:02+00:00","note":null},{"source":"epss","external_id":"CVE-2026-87948","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-87948","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T07:15:52+00:00","fetched_at":"2026-10-24T07:15:52+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}