Thanks, this helped. Here’s what I found.
These six fields in the Events Manager (default!) settings consistently trigger a 403:
dbem_calendar_preview_modal_event_format dbem_calendar_preview_modal_date_format dbem_calendar_preview_tooltip_event_format dbem_event_list_item_format dbem_event_grid_item_format dbem_single_event_format
What exactly triggers the WAF
1. Inline style attribute with CSS variable
<div class="em-event em-item" style="--default-border:#_CATEGORYCOLOR;">
The WAF sees style= plus a colon and a hash (#) and assumes it’s a potential XSS (cross-site scripting) attempt. This is the main cause of the 403.
2. Icon spans using two classes with “icon”
<span class="em-icon-clock em-icon"></span>
When both class names contain the word “icon”, some WAF rule sets flag it as “possible HTML/JS injection” (it’s a false positive, but reproducible). Using only one class like em-icon-clock works fine.
It’s a false-positive WAF block caused mainly by the inline style attribute and, in some cases, by <span> elements with multiple “icon” classes.
Following this, I can save my adjusted template without issues – but if I click “Reset to Default”, the default content (which includes those patterns) immediately triggers the WAF again.
Maybe the default template could be updated to use a safer version that avoids inline styles and duplicate “icon” classes.
Hope, it helps.
Additional suggestion:
These template fields are only visible and editable when Advanced Mode is enabled.
It might be safer if those fields were simply excluded from the POST payload when Advanced Mode is disabled – and if the description included a short warning that certain hosts’ WAF systems may block saving because of inline styles or icon markup.