{"id":"CVE-2026-126070","summary":"Action View: Possible XSS vulnerability in Action View strip_tags","details":"Action View is a framework for handling view template lookup and rendering and provides view helpers for building HTML. Prior to 8.1.4.1 and 8.0.5.2, strip_tags in Action View returns its sanitized output marked html_safe, but the underlying sanitizer encodes only &, \u003c and \u003e, leaving \" and ' unencoded. Because ERB does not escape a string marked html_safe, untrusted input passed through strip_tags and rendered inside a quoted HTML attribute value could close the attribute and add new attributes, possibly leading to XSS. Applications that render strip_tags output from untrusted input inside an HTML attribute, for example in a title attribute or a \u003cmeta content\u003e tag, are affected. Output rendered as element content is not affected. This issue is fixed in versions 8.1.4.1 and 8.0.5.2.","aliases":["GHSA-rq8q-p985-fjq7"],"modified":"2026-11-11T10:47:26.545388021Z","published":"2026-11-10T20:38:50.694Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/126xxx/CVE-2026-126070.json","cna_assigner":"GitHub_M","cwe_ids":["CWE-79"]},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/126xxx/CVE-2026-126070.json"},{"type":"FIX","url":"https://github.com/rails/rails/commit/568b19cb860322885593e308a7f27aceb779e9d7"},{"type":"FIX","url":"https://github.com/rails/rails/commit/c3772a10f405f9644125cbb484adfd2aa7a25a59"},{"type":"WEB","url":"https://github.com/rails/rails/releases/tag/v8.0.5.2"},{"type":"WEB","url":"https://github.com/rails/rails/releases/tag/v8.1.4.1"},{"type":"ADVISORY","url":"https://github.com/rails/rails/security/advisories/GHSA-rq8q-p985-fjq7"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-126070"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/rails/rails","events":[{"introduced":"0"},{"fixed":"235c597b100321b6bd2d62f8df63707f42b25b2d"},{"introduced":"1cdd190a25e483b65f1f25bbd0f13a25d696b461"},{"fixed":"3f290b759c8e2ffe7c257951b1255740751355e4"},{"fixed":"568b19cb860322885593e308a7f27aceb779e9d7"},{"fixed":"c3772a10f405f9644125cbb484adfd2aa7a25a59"}],"database_specific":{"extracted_events":[{"source":"AFFECTED_FIELD","strategy":"StringRangeExpression","range":[{"introduced":"0"},{"fixed":"8.0.5.2"}]},{"source":"AFFECTED_FIELD","strategy":"StringRangeExpression","range":[{"introduced":"8.1"},{"fixed":"8.1.4.1"}]},{"source":"REFERENCES_COMMIT","range":[{"fixed":"568b19cb860322885593e308a7f27aceb779e9d7"}]},{"range":[{"fixed":"c3772a10f405f9644125cbb484adfd2aa7a25a59"}],"source":"REFERENCES_COMMIT"},{"range":[{"fixed":"235c597b100321b6bd2d62f8df63707f42b25b2d"}],"source":"REFERENCES_TAG","original_tag":"v8.0.5.2"},{"source":"REFERENCES_TAG","original_tag":"v8.1.4.1","range":[{"fixed":"3f290b759c8e2ffe7c257951b1255740751355e4"}]}]}}],"versions":["v8.0.5.1","v8.1.4","v8.0.5","v8.1.3","v8.0.4","v8.1.2","v8.1.1","v8.1.0","v8.0.3","v8.0.2","v8.0.1","v8.0.0","v8.0.0.rc2","v8.0.0.rc1","v8.0.0.beta1","v7.1.0.beta1","v7.0.0.alpha2","v7.0.0.alpha1","v6.1.0.rc1","v6.0.0.beta2","v6.0.0.beta1","v5.1.0.beta1","v5.0.0.beta4","v5.0.0.beta2","v5.0.0.beta1","v4.2.0.beta1","v4.0.0.rc1","v4.0.0.beta1","v3.2.0.rc1","v3.1.0.rc1","v3.1.0.beta1","v3.0.0.beta3","v3.0.0.beta.3","v2.0.1","v2.0.0","v2.0.0_RC2","v2.0.0_RC1","v2.0.0_PR","v1.1.1","v1.1.0","v1.1.0_RC1","v0.14.3","v0.14.1","v0.13.1","v0.13.0","v0.12.0","v0.11.1","v0.11.0","v0.10.1","v0.10.0","v0.9.5","v0.9.4.1","v0.9.4","v0.9.3","v0.9.2","v0.9.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-126070.json"}}],"schema_version":"1.9.2","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"}]}