{"id":9819,"date":"2026-01-22T12:42:44","date_gmt":"2026-01-22T10:42:44","guid":{"rendered":"https:\/\/the-s-unit.nl\/?page_id=9819"},"modified":"2026-01-23T11:44:45","modified_gmt":"2026-01-23T09:44:45","slug":"tsu-09-insecure-ui-components","status":"publish","type":"page","link":"https:\/\/the-s-unit.nl\/en\/tsu-09-insecure-ui-components\/","title":{"rendered":"TSU-09: Insecure UI components"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"9819\" class=\"elementor elementor-9819\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-aaa94ad elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"aaa94ad\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0427a99\" data-id=\"0427a99\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-434b2fe elementor-widget elementor-widget-heading\" data-id=\"434b2fe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">The S-Unit Top 10<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8ea8deb elementor-widget elementor-widget-image\" data-id=\"8ea8deb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/the-s-unit.nl\/wp-content\/uploads\/2026\/01\/The-S-unit-Top-10-Carousel-LinkedIn-Post-13-300x300.png\" class=\"attachment-medium size-medium wp-image-9821\" alt=\"TSU-09: Insecure UI components\" srcset=\"https:\/\/the-s-unit.nl\/wp-content\/uploads\/2026\/01\/The-S-unit-Top-10-Carousel-LinkedIn-Post-13-300x300.png 300w, https:\/\/the-s-unit.nl\/wp-content\/uploads\/2026\/01\/The-S-unit-Top-10-Carousel-LinkedIn-Post-13-1024x1024.png 1024w, https:\/\/the-s-unit.nl\/wp-content\/uploads\/2026\/01\/The-S-unit-Top-10-Carousel-LinkedIn-Post-13-150x150.png 150w, https:\/\/the-s-unit.nl\/wp-content\/uploads\/2026\/01\/The-S-unit-Top-10-Carousel-LinkedIn-Post-13-768x768.png 768w, https:\/\/the-s-unit.nl\/wp-content\/uploads\/2026\/01\/The-S-unit-Top-10-Carousel-LinkedIn-Post-13-500x500.png 500w, https:\/\/the-s-unit.nl\/wp-content\/uploads\/2026\/01\/The-S-unit-Top-10-Carousel-LinkedIn-Post-13-12x12.png 12w, https:\/\/the-s-unit.nl\/wp-content\/uploads\/2026\/01\/The-S-unit-Top-10-Carousel-LinkedIn-Post-13-600x600.png 600w, https:\/\/the-s-unit.nl\/wp-content\/uploads\/2026\/01\/The-S-unit-Top-10-Carousel-LinkedIn-Post-13-100x100.png 100w, https:\/\/the-s-unit.nl\/wp-content\/uploads\/2026\/01\/The-S-unit-Top-10-Carousel-LinkedIn-Post-13.png 1080w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3ceb434 elementor-widget elementor-widget-heading\" data-id=\"3ceb434\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">TSU-09: Insecure UI components<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9f2f3bf elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9f2f3bf\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0f4929c\" data-id=\"0f4929c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b7ea66a elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"b7ea66a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>TSU-09 concerns security issues in Mendix components that are rendered or executed in the user\u2019s (mobile) browser. Mendix uses various types of UI components that run in the browser and can therefore expose sensitive or malicious data. This includes, among others:<\/p><ul><li>Pages and snippets<\/li><li>Nanoflows<\/li><li>JavaScript-widgets<\/li><li>JavaScript actions<\/li><li class=\"translation-block\">Constants with Expose to Client set to Yes<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1fda450 elementor-widget elementor-widget-spacer\" data-id=\"1fda450\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-07f0866 elementor-widget elementor-widget-heading\" data-id=\"07f0866\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Mendix UI components: a treasure trove for attackers<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-03657df elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"03657df\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The Mendix platform does not technically restrict access to pages; it only controls their visibility. This means that all pages and UI components are readable by attackers, even if they are not visible to regular users.<\/p><p>As a result, for example:<\/p><ul><li>internal information or procedures may become visible on admin pages<\/li><li>hard-coded API keys or secrets may be leaked via nanoflows<\/li><\/ul><p>\u00a0<\/p><p>Standard Mendix widgets automatically protect against the injection of HTML or JavaScript via user input.<br \/><strong>This protection does not automatically apply to:<\/strong><\/p><ul><li>third-party widgets<\/li><li>custom JavaScript<\/li><li>widgets or code that explicitly render HTML<\/li><\/ul><p><strong>This can lead to Cross-Site Scripting (XSS) and the hijacking of user sessions.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d429f18 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d429f18\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-bde79ee\" data-id=\"bde79ee\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-492a61b elementor-widget elementor-widget-heading\" data-id=\"492a61b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Best practices voor veilige UI-componenten<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-acdef05 elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"acdef05\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>When designing pages, nanoflows, and other UI components, ensure that no sensitive information is hard-coded. If you use Marketplace or custom UI components to display user data, they must actively prevent HTML and JavaScript injection.<\/p><p>Follow these best practices:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ec33770 elementor-widget elementor-widget-heading\" data-id=\"ec33770\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">1. Secure storage of sensitive information<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8f87ce2 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"8f87ce2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li class=\"translation-block\">If sensitive information needs to be available to specific users or pages\/nanoflows, store this data in a persistent entity with strict access rules.<\/li><li class=\"translation-block\">If sensitive information is only required in backend components (such as microflows), use a Mendix constant with Expose to client = No or store the data in a persistent entity without access rules.<\/li><li class=\"translation-block\">If sensitive data is required in a nanoflow but must not be visible to users, convert the nanoflow (or the relevant part) into a microflow.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-370d83f elementor-widget elementor-widget-heading\" data-id=\"370d83f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">2. Secure use of Marketplace widgets<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-82c660a elementor-widget elementor-widget-text-editor\" data-id=\"82c660a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><strong>When using Marketplace widgets:<\/strong><ul><li>verify that the widget is actively maintained<\/li><li>check whether the widget has undergone security testing<\/li><\/ul><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c72240a elementor-widget elementor-widget-heading\" data-id=\"c72240a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">3. Preventing HTML and JavaScript injection<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f493882 elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"f493882\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul>\n<li class=\"translation-block\"><strong>Avoid rendering user input as HTML.<\/strong> If this is unavoidable, use a specialized widget that prevents unwanted JavaScript execution, such as the HTML Element widget.<\/li>\n<\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f324f1a elementor-widget elementor-widget-heading\" data-id=\"f324f1a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">4. Secure development of custom widgets and JavaScript actions<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8d510dc elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"8d510dc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li class=\"translation-block\"><strong>Are you developing a custom widget or JavaScript action that adds or modifies HTML?<\/strong> Do not build HTML through string manipulation. Also, avoid unsafe methods such as document.write or innerHTML; instead, use the secure HTML mechanisms provided by the JavaScript library in use (Dojo\/Dijit or React).<\/li><\/ul><ul><li style=\"list-style-type: none;\">\u00a0<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a20ba3e elementor-widget elementor-widget-heading\" data-id=\"a20ba3e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">5. Secure use of Dojo\/Dijit and React<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-793a5f6 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"793a5f6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><b><b>Do you use Dojo\/Dijit or React? <\/b><\/b>Avoid functionality that allows arbitrary HTML, such as dangerouslySetInnerHTML. Also avoid dynamically setting JavaScript-related HTML attributes, such as href in a-tags and event handlers.<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b501365 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b501365\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-dbef240\" data-id=\"dbef240\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9943f5e elementor-widget elementor-widget-heading\" data-id=\"9943f5e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Vulnarabilities within TSU-09<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8545a2 elementor-widget elementor-widget-text-editor\" data-id=\"a8545a2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>These are the most common risks associated with insecure UI-components.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fc9a17c premium-type-column elementor-widget elementor-widget-premium-icon-list\" data-id=\"fc9a17c\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;rbadges_repeater&quot;:[]}\" data-widget_type=\"premium-icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<ul class=\"premium-bullet-list-box\">\n\t\t\t\t\n\t\t\t\t\t\t\t<li class=\"premium-bullet-list-content elementor-repeater-item-a242583\">\n\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"premium-drawable-icon\"><i class=\"premium-svg-nodraw fas fa-times\" aria-hidden=\"true\"><\/i><\/div>\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-text-wrapper\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"premium-bullet-text\" data-text=\"\">  <\/span>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"premium-bullet-list-desc\" data-text=\"Blootstelling van inloggegevens als statische waardes op adminpagina\u2019s\">Exposure of credentials as static values on admin pages<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<li class=\"premium-bullet-list-content elementor-repeater-item-e31d72a\">\n\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"premium-drawable-icon\"><i class=\"premium-svg-nodraw fas fa-times\" aria-hidden=\"true\"><\/i><\/div>\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-text-wrapper\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"premium-bullet-text\" data-text=\"\">  <\/span>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"premium-bullet-list-desc\" data-text=\"Blootstelling van inloggegevens als hard-coded waardes in nanoflows\">Exposure of credentials as hard-coded values in nanoflows<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<li class=\"premium-bullet-list-content elementor-repeater-item-4719d80\">\n\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"premium-drawable-icon\"><i class=\"premium-svg-nodraw fas fa-times\" aria-hidden=\"true\"><\/i><\/div>\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-text-wrapper\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"premium-bullet-text\" data-text=\"\">  <\/span>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"premium-bullet-list-desc\" data-text=\"Blootstelling van geheime sleutels als hard-coded waardes in nanoflows\">Exposure of secret keys as hard-coded values in nanoflows<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<li class=\"premium-bullet-list-content elementor-repeater-item-454fb3c\">\n\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"premium-drawable-icon\"><i class=\"premium-svg-nodraw fas fa-times\" aria-hidden=\"true\"><\/i><\/div>\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-text-wrapper\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"premium-bullet-text\" data-text=\"\">  <\/span>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"premium-bullet-list-desc\" data-text=\"Cross-Site Scripting door het renderen van wijzigbare gebruikersattributen\">Cross-Site Scripting due to rendering of modifiable user attributes<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<li class=\"premium-bullet-list-content elementor-repeater-item-ef07b0f\">\n\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"premium-drawable-icon\"><i class=\"premium-svg-nodraw fas fa-times\" aria-hidden=\"true\"><\/i><\/div>\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-text-wrapper\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"premium-bullet-text\" data-text=\"\">  <\/span>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"premium-bullet-list-desc\" data-text=\"Cross-Site Scripting door dynamische HTML-opbouw\">Cross-Site Scripting due to dynamic HTML construction<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<li class=\"premium-bullet-list-content elementor-repeater-item-4e37c46\">\n\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"premium-drawable-icon\"><i class=\"premium-svg-nodraw fas fa-times\" aria-hidden=\"true\"><\/i><\/div>\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-text-wrapper\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"premium-bullet-text\" data-text=\"\">  <\/span>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"premium-bullet-list-desc\" data-text=\"Cross-Site Scripting door ontbrekende validatie van gebruikers-URL\u2019s\">Cross-Site Scripting due to missing validation of user-supplied URLs<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<li class=\"premium-bullet-list-content elementor-repeater-item-a0fe540\">\n\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"premium-drawable-icon\"><i class=\"premium-svg-nodraw fas fa-times\" aria-hidden=\"true\"><\/i><\/div>\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"premium-bullet-list-text-wrapper\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"premium-bullet-text\" data-text=\"\">  <\/span>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"premium-bullet-list-desc\" data-text=\"Blootstelling van applicatie-secrets via client-exposed constants\">Exposure of application secrets via client-exposed constants<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<\/li>\n\n\t\t\t\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-79558ed elementor-widget elementor-widget-heading\" data-id=\"79558ed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Train your Mendix security skills<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4333459 elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"4333459\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Want to identify and prevent vulnerabilities in Mendix at an early stage? Take a look at our renewed Mendix security trainings based on The S-Unit Top 10.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b5658f elementor-widget elementor-widget-button\" data-id=\"4b5658f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mendix trainings<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-067acb3 elementor-widget elementor-widget-spacer\" data-id=\"067acb3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6bd960f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6bd960f\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-57d706d\" data-id=\"57d706d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d817b4f elementor-widget elementor-widget-heading\" data-id=\"d817b4f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Integrate The S-Unit Top 10 into your CI\/CD pipeline.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c0273f4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c0273f4\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-31aa2aa\" data-id=\"31aa2aa\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-816ed96 elementor-widget__width-initial elementor-widget-mobile__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"816ed96\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p class=\"translation-block\">Want to know how your Mendix application scores against The S-Unit Top 10?\nIn collaboration with Omnext, we have developed a Mendix-specific SAST solution that continuously and automatically scans for vulnerabilities. By integrating The S-Unit Top 10 into the CI\/CD pipeline, risks are identified early and made immediately visible. Learn more about our collaboration with Omnext and the Mendix-specific SAST module.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-19ade86 elementor-widget elementor-widget-button\" data-id=\"19ade86\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/the-s-unit.nl\/en\/securitypartner-omnext\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Mendix specific SAST-module<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-64509a4 elementor-widget elementor-widget-spacer\" data-id=\"64509a4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>The S-Unit Top 10 TSU-09: Insecure UI components TSU-09 gaat over beveiligingsproblemen in Mendix-componenten die in de (mobiele) browser van de gebruiker worden weergegeven of uitgevoerd.\u00a0Mendix gebruikt verschillende soorten UI-componenten die in de browser draaien en daardoor gevoelige of kwaadaardige data kunnen blootstellen. Dit gaat onder andere om: Pagina\u2019s en snippets Nanoflows JavaScript-widgets JavaScript actions [&hellip;]<\/p>\n","protected":false},"author":17,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-9819","page","type-page","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"The S-Unit Top 10 TSU-09: Insecure UI components TSU-09 gaat over beveiligingsproblemen in Mendix-componenten die in de (mobiele) browser van de gebruiker worden weergegeven of uitgevoerd. Mendix gebruikt verschillende soorten UI-componenten die in de browser draaien en daardoor gevoelige of kwaadaardige data kunnen blootstellen. Dit gaat onder andere om:Pagina\u2019s en snippetsNanoflowsJavaScript-widgetsJavaScript actionsConstants waarvan Expose to Client\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/the-s-unit.nl\/en\/tsu-09-insecure-ui-components\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_GB\" \/>\n\t\t<meta property=\"og:site_name\" content=\"The S-Unit \u2013 Your Security Companion\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"TSU-09: Insecure UI components \u2013 The S-Unit\" \/>\n\t\t<meta property=\"og:description\" content=\"The S-Unit Top 10 TSU-09: Insecure UI components TSU-09 gaat over beveiligingsproblemen in Mendix-componenten die in de (mobiele) browser van de gebruiker worden weergegeven of uitgevoerd. Mendix gebruikt verschillende soorten UI-componenten die in de browser draaien en daardoor gevoelige of kwaadaardige data kunnen blootstellen. Dit gaat onder andere om:Pagina\u2019s en snippetsNanoflowsJavaScript-widgetsJavaScript actionsConstants waarvan Expose to Client\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/the-s-unit.nl\/en\/tsu-09-insecure-ui-components\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/the-s-unit.nl\/wp-content\/uploads\/2021\/04\/logo-simple.svg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/the-s-unit.nl\/wp-content\/uploads\/2021\/04\/logo-simple.svg\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-01-22T10:42:44+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-01-23T09:44:45+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"TSU-09: Insecure UI components \u2013 The S-Unit\" \/>\n\t\t<meta name=\"twitter:description\" content=\"The S-Unit Top 10 TSU-09: Insecure UI components TSU-09 gaat over beveiligingsproblemen in Mendix-componenten die in de (mobiele) browser van de gebruiker worden weergegeven of uitgevoerd. Mendix gebruikt verschillende soorten UI-componenten die in de browser draaien en daardoor gevoelige of kwaadaardige data kunnen blootstellen. Dit gaat onder andere om:Pagina\u2019s en snippetsNanoflowsJavaScript-widgetsJavaScript actionsConstants waarvan Expose to Client\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/the-s-unit.nl\/wp-content\/uploads\/2021\/04\/logo-simple.svg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/the-s-unit.nl\\\/en\\\/tsu-09-insecure-ui-components\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/the-s-unit.nl\\\/en#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/the-s-unit.nl\\\/en\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/the-s-unit.nl\\\/en\\\/tsu-09-insecure-ui-components\\\/#listItem\",\"name\":\"TSU-09: Insecure UI components\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/the-s-unit.nl\\\/en\\\/tsu-09-insecure-ui-components\\\/#listItem\",\"position\":2,\"name\":\"TSU-09: Insecure UI components\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/the-s-unit.nl\\\/en#listItem\",\"name\":\"Home\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/the-s-unit.nl\\\/en\\\/#organization\",\"name\":\"The S-Unit\",\"description\":\"Your Security Companion\",\"url\":\"https:\\\/\\\/the-s-unit.nl\\\/en\\\/\",\"telephone\":\"+31302074177\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"\\\/\\\/the-s-unit.nl\\\/wp-content\\\/uploads\\\/2021\\\/04\\\/logo-simple.svg\",\"@id\":\"https:\\\/\\\/the-s-unit.nl\\\/en\\\/tsu-09-insecure-ui-components\\\/#organizationLogo\"},\"image\":{\"@id\":\"https:\\\/\\\/the-s-unit.nl\\\/en\\\/tsu-09-insecure-ui-components\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/the-s-unit\"]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/the-s-unit.nl\\\/en\\\/tsu-09-insecure-ui-components\\\/#webpage\",\"url\":\"https:\\\/\\\/the-s-unit.nl\\\/en\\\/tsu-09-insecure-ui-components\\\/\",\"name\":\"TSU-09: Insecure UI components \\u2013 The S-Unit\",\"description\":\"The S-Unit Top 10 TSU-09: Insecure UI components TSU-09 gaat over beveiligingsproblemen in Mendix-componenten die in de (mobiele) browser van de gebruiker worden weergegeven of uitgevoerd. Mendix gebruikt verschillende soorten UI-componenten die in de browser draaien en daardoor gevoelige of kwaadaardige data kunnen blootstellen. Dit gaat onder andere om:Pagina\\u2019s en snippetsNanoflowsJavaScript-widgetsJavaScript actionsConstants waarvan Expose to Client\",\"inLanguage\":\"en-GB\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/the-s-unit.nl\\\/en\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/the-s-unit.nl\\\/en\\\/tsu-09-insecure-ui-components\\\/#breadcrumblist\"},\"datePublished\":\"2026-01-22T12:42:44+02:00\",\"dateModified\":\"2026-01-23T11:44:45+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/the-s-unit.nl\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/the-s-unit.nl\\\/en\\\/\",\"name\":\"The S-Unit\",\"description\":\"Your Security Companion\",\"inLanguage\":\"en-GB\",\"publisher\":{\"@id\":\"https:\\\/\\\/the-s-unit.nl\\\/en\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"TSU-09: Insecure UI components \u2013 The S-Unit","description":"The S-Unit Top 10 TSU-09: Insecure UI components TSU-09 gaat over beveiligingsproblemen in Mendix-componenten die in de (mobiele) browser van de gebruiker worden weergegeven of uitgevoerd. Mendix gebruikt verschillende soorten UI-componenten die in de browser draaien en daardoor gevoelige of kwaadaardige data kunnen blootstellen. Dit gaat onder andere om:Pagina\u2019s en snippetsNanoflowsJavaScript-widgetsJavaScript actionsConstants waarvan Expose to Client","canonical_url":"https:\/\/the-s-unit.nl\/en\/tsu-09-insecure-ui-components\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/the-s-unit.nl\/en\/tsu-09-insecure-ui-components\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/the-s-unit.nl\/en#listItem","position":1,"name":"Home","item":"https:\/\/the-s-unit.nl\/en","nextItem":{"@type":"ListItem","@id":"https:\/\/the-s-unit.nl\/en\/tsu-09-insecure-ui-components\/#listItem","name":"TSU-09: Insecure UI components"}},{"@type":"ListItem","@id":"https:\/\/the-s-unit.nl\/en\/tsu-09-insecure-ui-components\/#listItem","position":2,"name":"TSU-09: Insecure UI components","previousItem":{"@type":"ListItem","@id":"https:\/\/the-s-unit.nl\/en#listItem","name":"Home"}}]},{"@type":"Organization","@id":"https:\/\/the-s-unit.nl\/en\/#organization","name":"The S-Unit","description":"Your Security Companion","url":"https:\/\/the-s-unit.nl\/en\/","telephone":"+31302074177","logo":{"@type":"ImageObject","url":"\/\/the-s-unit.nl\/wp-content\/uploads\/2021\/04\/logo-simple.svg","@id":"https:\/\/the-s-unit.nl\/en\/tsu-09-insecure-ui-components\/#organizationLogo"},"image":{"@id":"https:\/\/the-s-unit.nl\/en\/tsu-09-insecure-ui-components\/#organizationLogo"},"sameAs":["https:\/\/www.linkedin.com\/company\/the-s-unit"]},{"@type":"WebPage","@id":"https:\/\/the-s-unit.nl\/en\/tsu-09-insecure-ui-components\/#webpage","url":"https:\/\/the-s-unit.nl\/en\/tsu-09-insecure-ui-components\/","name":"TSU-09: Insecure UI components \u2013 The S-Unit","description":"The S-Unit Top 10 TSU-09: Insecure UI components TSU-09 gaat over beveiligingsproblemen in Mendix-componenten die in de (mobiele) browser van de gebruiker worden weergegeven of uitgevoerd. Mendix gebruikt verschillende soorten UI-componenten die in de browser draaien en daardoor gevoelige of kwaadaardige data kunnen blootstellen. Dit gaat onder andere om:Pagina\u2019s en snippetsNanoflowsJavaScript-widgetsJavaScript actionsConstants waarvan Expose to Client","inLanguage":"en-GB","isPartOf":{"@id":"https:\/\/the-s-unit.nl\/en\/#website"},"breadcrumb":{"@id":"https:\/\/the-s-unit.nl\/en\/tsu-09-insecure-ui-components\/#breadcrumblist"},"datePublished":"2026-01-22T12:42:44+02:00","dateModified":"2026-01-23T11:44:45+02:00"},{"@type":"WebSite","@id":"https:\/\/the-s-unit.nl\/en\/#website","url":"https:\/\/the-s-unit.nl\/en\/","name":"The S-Unit","description":"Your Security Companion","inLanguage":"en-GB","publisher":{"@id":"https:\/\/the-s-unit.nl\/en\/#organization"}}]},"og:locale":"en_GB","og:site_name":"The S-Unit \u2013 Your Security Companion","og:type":"article","og:title":"TSU-09: Insecure UI components \u2013 The S-Unit","og:description":"The S-Unit Top 10 TSU-09: Insecure UI components TSU-09 gaat over beveiligingsproblemen in Mendix-componenten die in de (mobiele) browser van de gebruiker worden weergegeven of uitgevoerd. Mendix gebruikt verschillende soorten UI-componenten die in de browser draaien en daardoor gevoelige of kwaadaardige data kunnen blootstellen. Dit gaat onder andere om:Pagina\u2019s en snippetsNanoflowsJavaScript-widgetsJavaScript actionsConstants waarvan Expose to Client","og:url":"https:\/\/the-s-unit.nl\/en\/tsu-09-insecure-ui-components\/","og:image":"https:\/\/the-s-unit.nl\/wp-content\/uploads\/2021\/04\/logo-simple.svg","og:image:secure_url":"https:\/\/the-s-unit.nl\/wp-content\/uploads\/2021\/04\/logo-simple.svg","article:published_time":"2026-01-22T10:42:44+00:00","article:modified_time":"2026-01-23T09:44:45+00:00","twitter:card":"summary_large_image","twitter:title":"TSU-09: Insecure UI components \u2013 The S-Unit","twitter:description":"The S-Unit Top 10 TSU-09: Insecure UI components TSU-09 gaat over beveiligingsproblemen in Mendix-componenten die in de (mobiele) browser van de gebruiker worden weergegeven of uitgevoerd. Mendix gebruikt verschillende soorten UI-componenten die in de browser draaien en daardoor gevoelige of kwaadaardige data kunnen blootstellen. Dit gaat onder andere om:Pagina\u2019s en snippetsNanoflowsJavaScript-widgetsJavaScript actionsConstants waarvan Expose to Client","twitter:image":"https:\/\/the-s-unit.nl\/wp-content\/uploads\/2021\/04\/logo-simple.svg"},"aioseo_meta_data":{"post_id":"9819","title":null,"description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"UI components","score":69,"analysis":{"keyphraseInTitle":{"score":9,"maxScore":9,"error":0},"keyphraseInDescription":{"score":9,"maxScore":9,"error":0},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":2},"keyphraseInURL":{"score":5,"maxScore":5,"error":0},"keyphraseInIntroduction":{"score":3,"maxScore":9,"error":1},"keyphraseInSubHeadings":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":{"score":9,"maxScore":9,"error":0},"keywordDensity":{"score":0,"type":"low","maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"WebPage","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"titles":[],"descriptions":[],"socialPosts":{"email":[],"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-01-08 15:13:56","updated":"2026-01-23 09:48:11","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/the-s-unit.nl\/en\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tTSU-09: Insecure UI components\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/the-s-unit.nl\/en"},{"label":"TSU-09: Insecure UI components","link":"https:\/\/the-s-unit.nl\/en\/tsu-09-insecure-ui-components\/"}],"_links":{"self":[{"href":"https:\/\/the-s-unit.nl\/en\/wp-json\/wp\/v2\/pages\/9819","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/the-s-unit.nl\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/the-s-unit.nl\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/the-s-unit.nl\/en\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/the-s-unit.nl\/en\/wp-json\/wp\/v2\/comments?post=9819"}],"version-history":[{"count":70,"href":"https:\/\/the-s-unit.nl\/en\/wp-json\/wp\/v2\/pages\/9819\/revisions"}],"predecessor-version":[{"id":10285,"href":"https:\/\/the-s-unit.nl\/en\/wp-json\/wp\/v2\/pages\/9819\/revisions\/10285"}],"wp:attachment":[{"href":"https:\/\/the-s-unit.nl\/en\/wp-json\/wp\/v2\/media?parent=9819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}