Vulnerability Name:

CVE-2021-39228 (CCN-209577)

Assigned:2021-09-17
Published:2021-09-17
Updated:2021-09-30
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`.
CVSS v3 Severity:9.8 Critical (CVSS v3.1 Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
8.5 High (Temporal CVSS v3.1 Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:U/RL:O/RC:C)
Exploitability Metrics:Attack Vector (AV): Network
Attack Complexity (AC): Low
Privileges Required (PR): None
User Interaction (UI): None
Scope:Scope (S): Unchanged
Impact Metrics:Confidentiality (C): High
Integrity (I): High
Availibility (A): High
6.5 Medium (CCN CVSS v3.1 Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N)
5.7 Medium (CCN Temporal CVSS v3.1 Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N/E:U/RL:O/RC:C)
Exploitability Metrics:Attack Vector (AV): Network
Attack Complexity (AC): Low
Privileges Required (PR): None
User Interaction (UI): None
Scope:Scope (S): Unchanged
Impact Metrics:Confidentiality (C): Low
Integrity (I): Low
Availibility (A): None
CVSS v2 Severity:7.5 High (CVSS v2 Vector: AV:N/AC:L/Au:N/C:P/I:P/A:P)
Exploitability Metrics:Access Vector (AV): Network
Access Complexity (AC): Low
Authentication (Au): None
Impact Metrics:Confidentiality (C): Partial
Integrity (I): Partial
Availibility (A): Partial
6.4 Medium (CCN CVSS v2 Vector: AV:N/AC:L/Au:N/C:P/I:P/A:N)
Exploitability Metrics:Access Vector (AV): Network
Access Complexity (AC): Low
Athentication (Au): None
Impact Metrics:Confidentiality (C): Partial
Integrity (I): Partial
Availibility (A): None
Vulnerability Type:CWE-416
Vulnerability Consequences:Bypass Security
References:Source: MITRE
Type: CNA
CVE-2021-39228

Source: XF
Type: UNKNOWN
tremor-cve202139228-sec-bypass(209577)

Source: MISC
Type: Patch, Third Party Advisory
https://github.com/tremor-rs/tremor-runtime/commit/1a2efcdbe68e5e7fd0a05836ac32d2cde78a0b2e

Source: MISC
Type: Exploit, Patch, Third Party Advisory
https://github.com/tremor-rs/tremor-runtime/pull/1217

Source: MISC
Type: Release Notes, Third Party Advisory
https://github.com/tremor-rs/tremor-runtime/releases/tag/v0.11.6

Source: CCN
Type: Tremor GIT Repository
Memory Safety Issue when using patch or merge on state and assign the result back to state

Source: CONFIRM
Type: Mitigation, Third Party Advisory
https://github.com/tremor-rs/tremor-runtime/security/advisories/GHSA-mc22-5q92-8v85

Vulnerable Configuration:Configuration 1:
  • cpe:/a:linuxfoundation:tremor:*:*:*:*:*:*:*:* (Version >= 0.7.2 and < 0.11.6)

  • * Denotes that component is vulnerable
    BACK
    linuxfoundation tremor *