CSIRTS // UNIFIED SECURITY ADVISORY FEEDSYS ● ONLINE · POWERED BY INTELFUSIONS.COM

CVE-2026-49259

highCVSS 8.7covered by 1 sourcefirst seen 2026-07-13
Summary A stored cross-site scripting (XSS) vulnerability exists in NukeViet CMS versions 4.x through 4.5.08. A low-privileged authenticated user can store a JavaScript payload in their profile's display name fields. The payload executes in the browser of any visitor — including administrators — who clicks the Reply ("Answer") link on a comment posted by that user. Affected Component The {COMMENT.post_name} template variable is interpolated without JavaScript-context escaping into an inline onclick handler in both comment block positions: - themes/default/modules/comment/comment.tpl line 27 (top-level comments) - themes/default/modules/comment/comment.tpl line 64 (nested/reply comments) onclick="nv_commment_feedback(event, {COMMENT.cid}, '{COMMENT.post_name}')" Root Cause The first_name and last_name profile fields are sanitized with HTML numeric character references (' → ', ( → (, ) → ), / → /) via Request::_get_title() with $specialchars = true. This encoding is correct for plain HTML attribute and element contexts, but insufficient for a JavaScript string literal embedded inside an HTML attribute. Browsers decode HTML entities in attribute values before the JavaScript engine parses the string. As a result, ' is decoded back to ', which terminates the JS string early and allows the remainder of the value to be executed as JavaScript. The combined display name (nv_show_name_user(first_name, last_name)) is what reaches the template, giving an attacker up to ~200 encoded characters across both fields — sufficient for any practical payload. Proof of Concept Set first_name to the following value in profile settings (/index.php?nv=users&op=editinfo), then post any comment: a');alert(document.domain);// The value is stored as a');alert(document.domain);//. When a visitor clicks the Reply link on the comment, the browser renders: nv_commment_feedback(event, 1, 'a');alert(document.domain);// Tester') causing alert(document.domain) to execute in the visitor'

⚡ Watch CVE-2026-49259

Get an email if CVE-2026-49259 is added to CISA KEV, gains public exploit code, or a new advisory cites it — max one per day, one-click unsubscribe.

Advisory coverage (1)

External references

NVD record for CVE-2026-49259

CVE.org record

Embed the live status

CVE-2026-49259 live status badge — this badge updates automatically when the KEV or exploit status changes. How to embed it →

[![CVE-2026-49259 status](https://www.csirts.com/badge/CVE-2026-49259)](https://www.csirts.com/cve/CVE-2026-49259)