diff --git a/web_interface/blueprints/pages_v3.py b/web_interface/blueprints/pages_v3.py index fc4a2988..89e550de 100644 --- a/web_interface/blueprints/pages_v3.py +++ b/web_interface/blueprints/pages_v3.py @@ -1,4 +1,5 @@ from flask import Blueprint, render_template, flash +from markupsafe import escape import json import logging from pathlib import Path @@ -95,7 +96,7 @@ def load_plugin_config_partial(plugin_id): try: return _load_plugin_config_partial(plugin_id) except Exception as e: - return f'
Error loading plugin config: {str(e)}
', 500 + return f'
Error loading plugin config: {escape(str(e))}
', 500 def _load_overview_partial(): """Load overview partial with system stats""" @@ -352,7 +353,7 @@ def _load_plugin_config_partial(plugin_id): plugin_info = pages_v3.plugin_manager.get_plugin_info(plugin_id) if not plugin_info: - return f'
Plugin "{plugin_id}" not found
', 404 + return f'
Plugin "{escape(plugin_id)}" not found
', 404 # Get plugin instance (may be None if not loaded) plugin_instance = pages_v3.plugin_manager.get_plugin(plugin_id) @@ -454,7 +455,7 @@ def _load_plugin_config_partial(plugin_id): except Exception as e: import traceback traceback.print_exc() - return f'
Error loading plugin config: {str(e)}
', 500 + return f'
Error loading plugin config: {escape(str(e))}
', 500 def _load_starlark_config_partial(app_id):