Description
Deserialization of Untrusted Data vulnerability in ash-project ash_cloak allows an attacker who can influence the bytes of an encrypted column to crash the BEAM node, by triggering unbounded atom creation or a decompression bomb during decryption.

AshCloak.Calculations.Decrypt decodes the decrypted binary with Ash.Helpers.non_executable_binary_to_term/1 without the :safe option, so atoms in the payload are interned during the decode and never garbage collected, and the term format's compressed form is inflated transparently. vault.decrypt!() is the only barrier and stops tampering only for an authenticated cipher. Cloak also ships the unauthenticated AES.CTR, whose ciphertext an attacker who knows their own plaintext can XOR into any same-length payload without the key, so an ordinary read of the forged column reaches the decoder. A few hundred kilobytes of distinct atoms exhausts the atom table, or a small compressed payload inflates to gigabytes.

This issue affects ash_cloak: from 0.1.0 before 0.4.0.
Published: 2026-08-30
Score: 5.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Patch
AI Analysis

Impact

The vulnerability is an unsafe deserialization of untrusted data that occurs when Ash Cloak decrypts binary payloads. Because the binary is decoded with non_executable_binary_to_term/1 without the :safe option, atoms created from the payload are interned and never garbage collected. An attacker can craft a payload that creates a large number of unique atoms or a small compressed term that expands to gigabytes when inflated. This causes the BEAM node to run out of memory or atom table entries, leading to a crash. The flaw is a classic case of insecure deserialization described by CWE‑502 and results in a denial‑of‑service condition on the affected node.

Affected Systems

The flaw affects the Ash Project’s Ash Cloak library. Versions 0.1.0 through just before 0.4.0 are vulnerable. The product is distributed under the Ash Cloak name and can be identified by its vendor and product names, ash-project and ash_cloak.

Risk and Exploitability

The CVSS score of 5.9 indicates a medium risk when combined with the lack of publicly available EPSS data, making the actual exploitation probability uncertain. An attacker must be able to influence the bytes of an encrypted column; this can be achieved by XORing their own plaintext into an unauthenticated AES.CTR ciphertext since the library accepts such input during decryption. If the attacker gains this capability, they can trigger atom flooding or a decompression bomb. The vulnerability is not listed in CISA’s KEV catalog, so there are no known widespread exploit campaigns at this time, but the potential for a crash makes the threat moderate.

Generated by OpenCVE AI on August 30, 2026 at 19:51 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Ash Cloak to version 0.4.0 or later, where the deserialization issue has been resolved.
  • If an upgrade is not immediately possible, modify AshCloak.Calculations.Decrypt to invoke Ash.Helpers.non_executable_binary_to_term/1 with the :safe option, preventing atom internment.
  • Validate all encrypted columns so that only authenticated ciphertexts are processed; disable or replace the unauthenticated AES.CTR cipher to eliminate the XOR manipulation path.
  • Apply runtime limits on the BEAM atom table or enable atom garbage collection where supported, to mitigate accidental atom table exhaustion.

Generated by OpenCVE AI on August 30, 2026 at 19:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 02 Sep 2026 08:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Sun, 30 Aug 2026 18:15:00 +0000

Type Values Removed Values Added
Description Deserialization of Untrusted Data vulnerability in ash-project ash_cloak allows an attacker who can influence the bytes of an encrypted column to crash the BEAM node, by triggering unbounded atom creation or a decompression bomb during decryption. AshCloak.Calculations.Decrypt decodes the decrypted binary with Ash.Helpers.non_executable_binary_to_term/1 without the :safe option, so atoms in the payload are interned during the decode and never garbage collected, and the term format's compressed form is inflated transparently. vault.decrypt!() is the only barrier and stops tampering only for an authenticated cipher. Cloak also ships the unauthenticated AES.CTR, whose ciphertext an attacker who knows their own plaintext can XOR into any same-length payload without the key, so an ordinary read of the forged column reaches the decoder. A few hundred kilobytes of distinct atoms exhausts the atom table, or a small compressed payload inflates to gigabytes. This issue affects ash_cloak: from 0.1.0 before 0.4.0.
Title Unsafe deserialization of decrypted terms enables node DoS in AshCloak
First Time appeared Ash-project
Ash-project ash Cloak
Weaknesses CWE-502
CPEs cpe:2.3:a:ash-project:ash_cloak:*:*:*:*:*:*:*:*
Vendors & Products Ash-project
Ash-project ash Cloak
References
Metrics cvssV4_0

{'score': 5.9, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Ash-project Ash Cloak
cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-09-01T12:32:46.422Z

Reserved: 2026-08-30T05:45:01.821Z

Link: CVE-2026-81319

cve-icon Vulnrichment

Updated: 2026-09-01T12:32:41.779Z

cve-icon NVD

Status : Deferred

Published: 2026-08-30T18:16:59.157

Modified: 2026-09-01T21:15:00.147

Link: CVE-2026-81319

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-31T21:22:40Z

Weaknesses
  • CWE-502

    Deserialization of Untrusted Data