diff --git a/apps/emqx_bridge/src/emqx_bridge_api.erl b/apps/emqx_bridge/src/emqx_bridge_api.erl index 443e2d93e..a233a53ef 100644 --- a/apps/emqx_bridge/src/emqx_bridge_api.erl +++ b/apps/emqx_bridge/src/emqx_bridge_api.erl @@ -603,7 +603,7 @@ create_or_update_bridge(BridgeType, BridgeName, Conf, HttpStatusCode) -> {ok, _} -> lookup_from_all_nodes(BridgeType, BridgeName, HttpStatusCode); {error, Reason} when is_map(Reason) -> - ?BAD_REQUEST(map_to_json(Reason)) + ?BAD_REQUEST(map_to_json(emqx_utils:redact(Reason))) end. get_metrics_from_local_node(BridgeType, BridgeName) -> diff --git a/apps/emqx_resource/src/emqx_resource.erl b/apps/emqx_resource/src/emqx_resource.erl index 0dbc3067f..169b326c8 100644 --- a/apps/emqx_resource/src/emqx_resource.erl +++ b/apps/emqx_resource/src/emqx_resource.erl @@ -388,7 +388,11 @@ call_start(ResId, Mod, Config) -> throw:Error -> {error, Error}; Kind:Error:Stacktrace -> - {error, #{exception => Kind, reason => Error, stacktrace => Stacktrace}} + {error, #{ + exception => Kind, + reason => Error, + stacktrace => emqx_utils:redact(Stacktrace) + }} end. -spec call_health_check(resource_id(), module(), resource_state()) -> diff --git a/changes/ce/perf-10988.en.md b/changes/ce/perf-10988.en.md new file mode 100644 index 000000000..2ebb563c3 --- /dev/null +++ b/changes/ce/perf-10988.en.md @@ -0,0 +1 @@ +Improve log security when data bridge creation fails to ensure sensitive data is always obfuscated.