{"id":"CVE-2026-112249","kind":"vulnerability","aliases":["CVE-2026-112249"],"related":[],"title":"grandnode2: product description template lets scripts run in shoppers' browsers","description":"A vulnerability was detected in grandnode grandnode2 up to 2.3.0. Affected is the function Html.Raw of the file src/Web/Grand.Web/Views/Product/Product.Layout.Simple.cshtml of the component Product Description Handler. The manipulation results in cross site scripting. The attack can be launched remotely. Upgrading to version 2.4.0-beta and 2.4.0 is able to address this issue. The patch is identified as 41a8e349eab8d9641cf6ea800d738f2d8991ca22. Upgrading the affected component is recommended. The vendor was contacted early about this disclosure.","summary":"Grandnode2 up to 2.3.0 renders product descriptions through Html.Raw in a product layout view without encoding them, so stored or submitted markup runs as script. An attacker who can put content into a product description can run script in the browser of anyone who views that product page.","severity":"medium","cvss":4.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["dotnet","e-commerce","grandnode2","package"],"not_affected_if":["default-config"],"how_to_check":"- Check the installed grandnode2 version; `2.3.0` and earlier are affected per the source.\n- Open `src/Web/Grand.Web/Views/Product/Product.Layout.Simple.cshtml` and look for `Html.Raw` around the product description.\n- Check whether untrusted users or vendors can edit product descriptions.","fix":"- Upgrade grandnode2 to `2.4.0` (or `2.4.0-beta`), per the source.\n- Apply the upstream patch `41a8e349eab8d9641cf6ea800d738f2d8991ca22` if you cannot upgrade yet.","status":"open","published_at":"2026-10-19T19:17:26+00:00","first_seen_at":"2026-10-23T21:57:19+00:00","triaged_at":"2026-10-25T04:33:28+00:00","updated_at":"2026-10-25T04:33:28+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-25T04:33:28Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade grandnode2 to `2.4.0` (or `2.4.0-beta`), per the source.\n- Apply the upstream patch `41a8e349eab8d9641cf6ea800d738f2d8991ca22` if you cannot upgrade yet.","reach":"internet","title":"grandnode2: product description template lets scripts run in shoppers' browsers","impact":"medium","summary":"Grandnode2 up to 2.3.0 renders product descriptions through Html.Raw in a product layout view without encoding them, so stored or submitted markup runs as script. An attacker who can put content into a product description can run script in the browser of anyone who views that product page.","category":"package","nicknames":[],"who_cares":["grandnode2","dotnet","e-commerce"],"confidence":0.7,"needs_auth":"unknown","worst_case":"Script runs in shoppers' browsers on product pages, stealing sessions","analyst_note":"","how_to_check":"- Check the installed grandnode2 version; `2.3.0` and earlier are affected per the source.\n- Open `src/Web/Grand.Web/Views/Product/Product.Layout.Simple.cshtml` and look for `Html.Raw` around the product description.\n- Check whether untrusted users or vendors can edit product descriptions.","needs_analyst":false,"not_affected_if":["default-config"],"who_is_affected":"Stores running grandnode2 `2.3.0` or earlier where product descriptions can be written by someone other than trusted staff, such as multi-vendor or user-submitted content. Shops where only trusted administrators edit descriptions face a much smaller risk, though the upgrade still applies.","user_interaction":"yes","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000647,"input_tokens":3419,"output_tokens":611,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-112249':13A,16A '-2026':12A,15A '2.3.0':26B,80C '2.4.0':112C,115C '41a8e349eab8d9641cf6ea800d738f2d8991ca22':127C 'abl':117C 'address':119C 'affect':81C,130C 'anyon':65B 'attack':49B,104C 'beta':113C 'browser':10A,63B 'commerc':20B 'compon':92C,131C 'contact':137C 'content':53B 'cross':100C 'cve':11A,14A 'descript':3A,29B,57B,94C 'detect':74C 'disclosur':141C 'dotnet':17B 'e':19B 'e-commerc':18B 'earli':138C 'encod':38B 'file':88C 'function':84C 'grandnod':76C 'grandnode2':1A,21B,23B,77C 'handler':95C 'html.raw':31B,85C 'identifi':125C 'issu':121C 'launch':107C 'layout':35B 'let':5A 'manipul':97C 'markup':44B 'packag':22B 'page':70B 'patch':123C 'product':2A,28B,34B,56B,69B,93C 'put':52B 'recommend':133C 'remot':108C 'render':27B 'result':98C 'run':7A,45B,59B 'script':6A,47B,60B,102C 'shopper':9A 'site':101C 'src/web/grand.web/views/product/product.layout.simple.cshtml':89C 'store':41B 'submit':43B 'templat':4A 'upgrad':109C,128C 'vendor':135C 'version':111C 'view':36B,67B 'vulner':72C 'without':37B","nicknames":[],"mitigations":[],"who_affected":"Stores running grandnode2 `2.3.0` or earlier where product descriptions can be written by someone other than trusted staff, such as multi-vendor or user-submitted content. Shops where only trusted administrators edit descriptions face a much smaller risk, though the upgrade still applies.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-19T19:17:26+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:P/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"cna@vuldb.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-112249","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-112249","severity":null,"published_at":"2026-10-19T19:17:26+00:00","modified_at":"2026-10-22T21:17:14+00:00","first_seen_at":"2026-10-23T21:57:19+00:00","fetched_at":"2026-10-23T22:28:57+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"}