Headline
GHSA-2qrj-g9hq-chph: Umbraco.Forms has HTML injection vulnerability in 'Send email' workflow
Impact
The ‘Send email’ workflow does not HTML encode the user-provided field values in the sent email message, making any form with this workflow configured vulnerable, as it allows sending the message from a trusted system and address (potentially bypassing spam and email client security systems).
Patches
This issue affects all (supported) versions Umbraco Forms and is patched in 13.4.2 and 15.1.2.
Workarounds
Unpatched or unsupported versions can workaround this issue by using the 'Send email with template (Razor)' workflow instead or writing a custom workflow type.
To avoid accidentally using the vulnerable workflow again, the SendEmail
workflow type can be removed using the following composer (tested on Umbraco 10, 13, 14 and 15):
using Umbraco.Cms.Core.Composing;
using Umbraco.Forms.Core.Providers.Extensions;
using Umbraco.Forms.Core.Providers.WorkflowTypes;
internal sealed class RemoveFormsSendEmailWorkflowTypeComposer : IComposer
{
public void Compose(IUmbracoBuilder builder)
=> builder.FormsWorkflows().Exclude<SendEmail>();
}
Impact
The ‘Send email’ workflow does not HTML encode the user-provided field values in the sent email message, making any form with this workflow configured vulnerable, as it allows sending the message from a trusted system and address (potentially bypassing spam and email client security systems).
Patches
This issue affects all (supported) versions Umbraco Forms and is patched in 13.4.2 and 15.1.2.
Workarounds
Unpatched or unsupported versions can workaround this issue by using the 'Send email with template (Razor)' workflow instead or writing a custom workflow type.
To avoid accidentally using the vulnerable workflow again, the SendEmail workflow type can be removed using the following composer (tested on Umbraco 10, 13, 14 and 15):
using Umbraco.Cms.Core.Composing; using Umbraco.Forms.Core.Providers.Extensions; using Umbraco.Forms.Core.Providers.WorkflowTypes;
internal sealed class RemoveFormsSendEmailWorkflowTypeComposer : IComposer { public void Compose(IUmbracoBuilder builder) => builder.FormsWorkflows().Exclude<SendEmail>(); }
References
- GHSA-2qrj-g9hq-chph
- https://nvd.nist.gov/vuln/detail/CVE-2025-47280