{ "schema_version": "1.4.0", "id": "GHSA-785h-76cm-cpmf", "modified": "2025-03-26T20:34:02Z", "published": "2025-03-26T20:34:02Z", "aliases": [], "summary": "Django TomSelect incomplete escaping of dangerous characters in widget attributes", "details": "### Summary\nUser supplied values passed through to certain attributes in form widgets are not fully escaped for potentially dangerous tokens, and in some cases are rendered in browser as valid html tags.\n\n### Details\nAttributes passed to the widget (such as `label_field`) containing `<`, `>`, and similar tokens are not fully escaped. This results in some raw values reaching the widget, and rendering in part or fully.\n\nFor example, a label of: `\"Test User \"` is rendered in the choices's label visually as `\"Test User \"` with the trailing space, and what appears as an un-executed script tag following it (which is visible when viewing source).\n\nThe actual output rendered in the browser for this example is: `