Authenticated code execution via unrestricted process-variable deserialization
Published Mar 12, 2026 · Updated Mar 12, 2026
Unsafe deserialization in Alfresco Activiti 7.0 through 7.19 and 8.0 through 8.8.0 allows remote authenticated users to execute code. SerializableType.deserialize constructs an unrestricted ObjectInputStream, calls readObject on stored process-variable bytes, and resolves arbitrary class names through ReflectUtil without an allowlist. Exploitation requires permission to write a serializable process variable and a usable gadget chain on the server classpath; execution occurs as the Activiti service account when the variable is read.
Summary
What happened
Unsafe deserialization in Alfresco Activiti 7.0 through 7.19 and 8.0 through 8.8.0 allows remote authenticated users to execute code. SerializableType.deserialize constructs an unrestricted ObjectInputStream, calls readObject on stored process-variable bytes, and resolves arbitrary class names through ReflectUtil without an allowlist. Exploitation requires permission to write a serializable process variable and a usable gadget chain on the server classpath; execution occurs as the Activiti service account when the variable is read.
The record
- CVE
- CVE-2026-3967
- Published
- Mar 12, 2026
- Updated
- Mar 12, 2026
- Vendor
- Alfresco
- Product
- Activiti
- Classifications
- CWE-20, CWE-502, CAPEC-582, T1190
- Attack vector
- network
- Privileges
- authenticated
Timeline
How it unfolded
- Mar 12, 2026CVE publishedPublication date reported by the CVE source.
- Mar 12, 2026Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=7.0
- Affected versionversion=7.1
- Affected versionversion=7.10
- Affected versionversion=7.11
- Affected versionversion=7.12
- Affected versionversion=7.13
- Affected versionversion=7.14
- Affected versionversion=7.15
- Affected versionversion=7.16
- Affected versionversion=7.17
- Affected versionversion=7.18
- Affected versionversion=7.19
- Affected versionversion=7.2
- Affected versionversion=7.3
- Affected versionversion=7.4
- Affected versionversion=7.5
- Affected versionversion=7.6
- Affected versionversion=7.7
- Affected versionversion=7.8
- Affected versionversion=7.9
- Affected versionversion=8.0
- Affected versionversion=8.1
- Affected versionversion=8.2
- Affected versionversion=8.3
- Affected versionversion=8.4
- Affected versionversion=8.5
- Affected versionversion=8.6
- Affected versionversion=8.7
- Affected versionversion=8.8.0
What conditions does exploitation require?
What is affected?
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Weakness, pattern, technique
Public exploit references
- Java Deserialization Remote Code Execution in Activitiproof of concept · unverified
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo