---
id: CVE-2026-81319
title: >-
  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 d…
summary: >-
  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 d…
severity: none
cwe:
  - CWE-502
published: '2026-08-30'
updated: '2026-08-30'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-81319'
references:
  - url: 'https://cna.erlef.org/cves/CVE-2026-81319.html'
    label: 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
  - url: >-
      https://github.com/ash-project/ash_cloak/commit/1690f0a436efe3e7c11d70d74ff5a8ac0fdf6608
    label: 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
  - url: >-
      https://github.com/ash-project/ash_cloak/security/advisories/GHSA-rc26-mrm2-6pf9
    label: 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
  - url: 'https://osv.dev/vulnerability/EEF-CVE-2026-81319'
    label: 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
tags:
  - nvd
ingestedAt: '2026-08-31T02:00:57.381Z'
epss: 0.00367
epssPercentile: 0.27847
---

## Overview

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.

## Remediation

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