CVE-2026-82741: Ash Package Type Confusion Vulnerability Due to Improper Tag Handling

ash Updated 01 Sep 2026

Summary

01/09/2026
Yes i
Low
2.1

CVE-2026-82741: Ash.Type.Union with :map_with_tag does not force the tag on dump, enabling tag confusion. Affects ash across 2 version ranges.

>= 2.14.18, < 3.32.2 >= b0bd2d23d979e731610327636f51da4981fcef68, < 8dbdaecd0f115f52e7c3f9a3e798617d6fbf5f7d

Fixed in 3.32.2. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

The Ash package is an open-source framework designed for building APIs in Elixir. It provides a powerful way to define resources, relationships, and actions, enabling developers to create complex applications with ease. However, a recent vulnerability has been identified that affects the way Ash handles type tags in union types, specifically those using storage with map_with_tag. This vulnerability can lead to unauthorized access and data manipulation.

Vulnerability Detail

The vulnerability arises from improper validation of the specified type of input in Ash.Type.Union when using storage: :map_with_tag. The function Ash.Type.Union.dump_to_native/2 fails to enforce the configured tag during the dumping process, allowing an attacker to submit a value with a tag that does not correspond to its actual data type. This results in a type confusion where the data is treated as belonging to a different member of the union, bypassing validation and authorization checks. The potential ramifications include unauthorized data access and manipulation, as the constraints and policies associated with the actual member are ignored.

How To Fix

Latest published version: 3.37.0 as of 23 Oct 2026

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

3.32.2

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

As a temporary workaround, developers can manually validate the tags before storing values in the union types to ensure that the correct tags are being used. This can be done by implementing custom validation logic in the application code to check the incoming tags against the expected tags for each member of the union.

Conclusion

CVE-2026-82741 is a significant vulnerability in the Ash package that can lead to type confusion and unauthorized data access. It is crucial for developers using Ash to update to the patched version to mitigate this risk. Implementing temporary workarounds can help protect applications until the update is applied.

See every vulnerability recorded for ash →

Share this vulnerability

FAQ

CVE-2026-82741 is a vulnerability in the Ash package that allows for type confusion due to improper handling of tags in union types.

This vulnerability can lead to unauthorized access and manipulation of data, as it bypasses validation and authorization checks based on type tags.

The vulnerability affects Ash versions from 2.14.18 up to, but not including, 3.32.2.

You can use Vulert to monitor and alert for open-source vulnerabilities in your software. Visit Vulert Scanner to check if your application is affected by this vulnerability without needing to sign up.

If an immediate update is not possible, implement custom validation logic to ensure that the correct tags are used before storing values in union types.

Related vulnerabilities

Recent vulnerabilities recorded for ash.

How To Fix

Latest published version: 3.37.0 as of 23 Oct 2026

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

3.32.2

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback