{"schema":"threatline.record/2","record":{"id":"CVE-2026-19902","aliases":[],"summary":"Ad Inserter <= 2.8.18 - Reflected Cross-Site Scripting via {search-query} Dynamic Tag (Referer Header)","details":"The Ad Inserter – Ad Manager & AdSense Ads plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the Referer header in all versions up to, and including, 2.8.18 due to insufficient input sanitization and output escaping on the '{search-query}' dynamic tag. When an ad block's code contains that tag, replace_ai_tags() reads $_SERVER['HTTP_REFERER'] and tests it with the regex /[\\.\\/](google|yahoo|bing|ask)\\.[a-z\\.]{2,5}[\\/]/i. The leading [\\.\\/] class matches a literal slash, so any referrer merely containing a segment such as '/google.com/' passes as a search-engine referral; the plugin then percent-decodes the referring query with parse_str() and substitutes the resulting 'q' (or 'p') value into the block via preg_replace() with no escaping. This makes it possible for unauthenticated attackers to execute arbitrary JavaScript in the context of the site for any visitor, including a signed-in administrator, by luring them to an attacker-controlled page that frames or links to any ordinary post. Exploitation requires the site to have an ad block whose code uses the '{search-query}' tag with automatic insertion enabled — a documented plugin feature used as intended.","categories":["Unclassified"],"product":"Ad Inserter – Ad Manager & AdSense Ads","vendor":"spacetime","ecosystem":null,"affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-19902","source_modified_at":"2026-10-03T15:42:52.231Z","fetched_at":"2026-10-23T18:52:38.922436Z","product":"Ad Inserter – Ad Manager & AdSense Ads","vendor":"spacetime","versions":[{"version":"0","status":"affected","lessThanOrEqual":"2.8.18","versionType":"semver"}],"defaultStatus":"unaffected"}],"fixed_versions":[],"cvss":6.1,"severity":"Medium","kev":{"listed":false},"epss":{"probability":0.00259,"percentile":0.16697,"score_date":"2026-10-23"},"published_at":"2026-10-01T07:40:23.197Z","modified_at":"2026-10-03T15:42:52.231Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-19902","fetched_at":"2026-10-23T18:52:38.922436Z","source_modified_at":"2026-10-03T15:42:52.231Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-19902","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["CVE List","EPSS"],"references":[{"source":"CVE List","url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/5d632cce-40a9-4969-b213-8370ae75287e?source=cve"},{"source":"CVE List","url":"https://plugins.trac.wordpress.org/browser/ad-inserter/tags/2.8.18/ad-inserter.php#L13093"},{"source":"CVE List","url":"https://plugins.trac.wordpress.org/browser/ad-inserter/tags/2.8.18/ad-inserter.php#L13018"},{"source":"CVE List","url":"https://plugins.trac.wordpress.org/browser/ad-inserter/tags/2.8.18/ad-inserter.php#L13022"},{"source":"CVE List","url":"https://plugins.trac.wordpress.org/browser/ad-inserter/tags/2.8.18/ad-inserter.php#L13025"},{"source":"CVE List","url":"https://plugins.trac.wordpress.org/browser/ad-inserter/tags/2.8.18/class.php#L3297"},{"source":"CVE List","url":"https://plugins.trac.wordpress.org/changeset?reponame=&new=3709970%40ad-inserter%2Ftags%2F2.8.19&old=3624916%40ad-inserter%2Ftags%2F2.8.18"},{"source":"CVE List","url":"https://plugins.trac.wordpress.org/changeset/3709957/ad-inserter/trunk/ad-inserter.php"}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","cvss_source":"CVE List","ssvc":{"exploitation":"none","automatable":"no","technical_impact":"partial","assessed_at":"2026-10-03T15:35:45.406125Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":null,"confidence":"unknown","reviewed":false},"change_timestamp":"2026-10-03T15:42:52.231Z","content_hash":"c979f7ce044737864e4120292c71ad4aeeaaffbca08c536d56abfdb11c1ca416"}}
