{"id":"CVE-2026-97030","kind":"vulnerability","aliases":["CVE-2026-97030","GO-2026-6600"],"related":[],"title":"Recognize yield as regexp preceder keyword in html/template","description":"A trusted template author may have previously written a valid template wherein the use of the 'yield' keyword would not be correctly escaped.\n\nWe now ensure that valid keyword uses are escaped and non-keyword uses are not escaped.","summary":"Go's html/template standard library package did not treat the 'yield' keyword as a regexp-preceding keyword, so some template output could be escaped incorrectly. The sources describe this as requiring a trusted template author, so an attacker mainly gains a possible escaping bypass in templates that are already trusted.","severity":"medium","cvss":6.1,"epss":0.00202,"exploited":false,"exploited_at":null,"products":[{"name":"stdlib","fixed":["1.26.9","1.27.2"],"affected":">= 1.27.0-0, < 1.27.2","ecosystem":"go"}],"ecosystems":["go"],"tags":["go","html/template","package","web-apps"],"not_affected_if":["no-html-template-use","static-export"],"how_to_check":"Run 'go version' and check that the go.mod go directive and the toolchain in use are not in the affected range (>= 1.27.0-0, < 1.27.2 or < 1.26.9 on the 1.26 line).\nRun 'go list -m all' or 'govulncheck ./...' to see whether the stdlib module is used by your build.","fix":"Upgrade the Go toolchain to 1.26.9 or 1.27.2 and rebuild.","status":"open","published_at":"2026-10-08T22:31:09+00:00","first_seen_at":"2026-10-23T19:13:08+00:00","triaged_at":"2026-10-23T19:57:56+00:00","updated_at":"2026-10-23T19:57:56+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-23T19:57:56Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade the Go toolchain to 1.26.9 or 1.27.2 and rebuild.\nunknown for any other mitigation.","summary":"Go's html/template standard library package did not treat the 'yield' keyword as a regexp-preceding keyword, so some template output could be escaped incorrectly. The sources describe this as requiring a trusted template author, so an attacker mainly gains a possible escaping bypass in templates that are already trusted.","category":"package","who_cares":["go","html/template","web-apps"],"confidence":0.7,"analyst_note":"","how_to_check":"Run 'go version' and check that the go.mod go directive and the toolchain in use are not in the affected range (>= 1.27.0-0, < 1.27.2 or < 1.26.9 on the 1.26 line).\nRun 'go list -m all' or 'govulncheck ./...' to see whether the stdlib module is used by your build.\nunknown for any further project-specific exposure.","needs_analyst":false,"not_affected_if":["no-html-template-use","static-export"],"severity_if_unknown":"unknown"},"cost_usd":0.000399,"input_tokens":2092,"output_tokens":380,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-2026':10A,13A,16A '-6600':14A '-97030':11A,17A 'alreadi':74B 'app':24B 'attack':63B 'author':60B,79C 'bypass':69B 'correct':97C 'could':47B 'cve':9A,15A 'describ':53B 'ensur':101C 'escap':49B,68B,98C,107C,115C 'gain':65B 'go':12A,19B,25B 'html/template':8A,20B,27B 'incorrect':50B 'keyword':6A,36B,42B,93C,104C,111C 'librari':29B 'main':64B 'may':80C 'non':110C 'non-keyword':109C 'output':46B 'packag':21B,30B 'possibl':67B 'preced':5A,41B 'previous':82C 'recogn':1A 'regexp':4A,40B 'regexp-preced':39B 'requir':56B 'sourc':52B 'standard':28B 'stdlib':18A 'templat':45B,59B,71B,78C,86C 'treat':33B 'trust':58B,75B,77C 'use':89C,105C,112C 'valid':85C,103C 'web':23B 'web-app':22B 'wherein':87C 'would':94C 'written':83C 'yield':2A,35B,92C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-08T22:31:09+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","cvss_by":"134c704f-9b21-4f2e-91b3-4a467353bcc0","poc_count":0,"sources":[{"source":"govuln","external_id":"GO-2026-6600","url":"https://pkg.go.dev/vuln/GO-2026-6600","severity":null,"published_at":"2026-10-08T22:31:09+00:00","modified_at":"2026-10-08T22:31:09+00:00","first_seen_at":"2026-10-23T19:13:08+00:00","fetched_at":"2026-10-23T19:13:08+00:00","note":null},{"source":"epss","external_id":"CVE-2026-97030","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-97030","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-23T19:13:43+00:00","fetched_at":"2026-10-23T19:13:43+00:00","note":null},{"source":"nvd","external_id":"CVE-2026-97030","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-97030","severity":null,"published_at":"2026-10-08T23:17:05+00:00","modified_at":"2026-10-15T16:18:24+00:00","first_seen_at":"2026-10-23T19:35:23+00:00","fetched_at":"2026-10-23T19:35:23+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"}