Memory Safety Issue when using patch or merge on state and assign the result back to state
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-416 and the CVSS impact.
Summary
Tremor is an event processing system for unstructured data. A vulnerability exists between versions 0.7.2 and 0.11.6. This vulnerability is a memory safety Issue when using `patch` or `merge` on `state` and assign the result back to `state`. In this case, affected versions of Tremor and the tremor-script crate maintains references to memory that might have been freed already. And these memory regions can be accessed by retrieving the `state`, e.g. send it over TCP or HTTP. This requires the Tremor server (or any other program using tremor-script) to execute a tremor-script script that uses the mentioned language construct. The issue has been patched in version 0.11.6 by removing the optimization and always cloning the target expression of a Merge or Patch. If an upgrade is not possible, a possible workaround is to avoid the optimization by introducing a temporary variable and not immediately reassigning to `state`.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| tremor-rs | tremor-runtime | > 0.7.2, < 0.11.6 | — | No fix listed | CNA |
| — | tremor-script (crates.io) | 0.7.3 to before 0.11.6 | 0.11.6 | Patch available | GHSA-mc22-5q92-8v85 |
- tremor-runtime Vendortremor-rs Affected > 0.7.2, < 0.11.6 Fixed in — No fix listed CNA
- tremor-script (crates.io) Vendor— Affected 0.7.3 to before 0.11.6 Fixed in 0.11.6 Patch available GHSA-mc22-5q92-8v85
Remediation
- Fix · GHSA-mc22-5q92-8v85 tremor-script (crates.io) Fixed in 0.11.6 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2021-39228
- 2026-10-03 Alias added: GHSA-mc22-5q92-8v85
References
Advisory 3
Sources
- CVE-2021-39228 · CVE Program
- CVE-2021-39228 · NVD
- FIRST EPSS
- GHSA-mc22-5q92-8v85 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences