---
id: CVE-2026-91145
title: >-
  Activiti through 7.1.0.M6 fails to validate hash-brace deferred expressions in
  process variables, allowing attackers to bypass expression filtering
summary: >-
  Activiti through 7.1.0.M6 fails to validate hash-brace deferred expressions in
  process variables, allowing attackers to bypass expression filtering.
  Attackers can inject expressions beginning with #{ that are stored and later
  evaluated i…
severity: high
cvss: 7.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N'
cwe:
  - CWE-917
vendor: Activiti
product: Activiti
affected:
  - Activiti <= 7.1.0.M6
published: '2026-09-14'
updated: '2026-09-24'
sourceUpdated: '2026-09-24T20:47:31.797'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-91145'
references:
  - url: 'https://github.com/Activiti/Activiti'
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/Activiti/Activiti/blob/7.1.0.M6/activiti-core/activiti-api-impl/activiti-api-process-runtime-impl/src/main/java/org/activiti/runtime/api/impl/ExpressionResolver.java
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/Activiti/Activiti/blob/7.1.0.M6/activiti-core/activiti-engine/src/main/java/org/activiti/engine/impl/bpmn/behavior/MailActivityBehavior.java
    label: disclosure@vulncheck.com
  - url: 'https://github.com/Activiti/Activiti/issues/5438'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/activiti-through-7.1.0-m6-expression-injection-via-mail-task
    label: disclosure@vulncheck.com
  - url: 'https://github.com/Activiti/Activiti/issues/5438'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
tags:
  - nvd
  - cve.org
  - exploit-available
epss: 0.00422
epssPercentile: 0.33808
exploitAvailable: true
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-09-15T13:37:15.686978Z'
ingestedAt: '2026-09-14T22:16:09.894Z'
---

## Overview

Activiti through 7.1.0.M6 fails to validate hash-brace deferred expressions in process variables, allowing attackers to bypass expression filtering. Attackers can inject expressions beginning with #{ that are stored and later evaluated in the full Spring context when a mail task uses variable-backed body fields, enabling method invocation on application beans.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
