Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-54894— Atom-table exhaustion denial of service in Guardian via unbounded atom creation from binary keys

CVSS 6.9 · Medium EPSS 0.13% · P3

Affected Version Matrix 2

VendorProductVersion RangeStatus
ueberauthguardian0.1.0< 2.4.1affected
7126fa433afc2563fcac0c9aa35193965f8fd5f8< 2952657e42e6341a67e6aaad09d8f0b40ae917cbaffected
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2026-54894

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Atom-table exhaustion denial of service in Guardian via unbounded atom creation from binary keys
Source: CVE Program / CVE List V5
Vulnerability Description
Allocation of Resources Without Limits or Throttling in ueberauth guardian allows denial of service via unbounded atom creation from attacker-influenced binary input. Guardian.Plug.Keys derives connection and session namespace keys by passing arbitrary binaries to String.to_atom/1. base_key/1 in lib/guardian/plug/keys.ex converts any binary into the atom :"guardian_<input>", and the derived helpers claims_key/1, resource_key/1, and token_key/1 create a second atom on top of that. key_from_other/1 likewise converts a regex-captured binary through String.to_atom/1. The public specs advertise String.t() as a valid argument, so passing a string is documented usage, and higher-level entry points such as Guardian.Plug.current_token(conn, key: key) thread the caller-supplied key straight into these functions. String.to_atom/1 creates a brand-new atom for every previously unseen binary, atoms are never garbage collected, and the BEAM atom table is fixed at roughly 1,048,576 entries by default. An application that routes attacker-influenced data (a tenant identifier, header, or other request input) into a Guardian key therefore mints one permanent atom per distinct value. A modest stream of varied, unauthenticated input permanently consumes the atom table and crashes the BEAM node, taking down every application running on it. This issue affects guardian: from 0.1.0 before 2.4.1.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H
Source: CVE Program / CVE List V5
Vulnerability Type
不加限制或调节的资源分配
Source: CVE Program / CVE List V5
Vulnerability Title
ueberauth Guardian 资源管理错误漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
ueberauth Guardian是ueberauth组织开源的一个基于令牌的身份验证库,可用于 Elixir 应用程序。 ueberauth Guardian 0.1.0至2.4.1之前版本存在资源管理错误漏洞,该漏洞源于资源分配无限制或节流,攻击者可控的二进制输入通过String.to_atom/1转换为原子,导致无限创建原子并耗尽BEAM原子表,可能造成拒绝服务。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
ueberauthguardian 0.1.0 ~ 2.4.1 cpe:2.3:a:ueberauth:guardian:*:*:*:*:*:*:*:*
ueberauthguardian 7126fa433afc2563fcac0c9aa35193965f8fd5f8 ~ 2952657e42e6341a67e6aaad09d8f0b40ae917cb cpe:2.3:a:ueberauth:guardian:*:*:*:*:*:*:*:*

II. Public POCs for CVE-2026-54894

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-54894

登录查看更多情报信息。

Patches & Fixes for CVE-2026-54894 (1)

Vendor Advisories for CVE-2026-54894 (3)

Same Patch Batch · ueberauth · 2026-08-01 · 4 CVEs total

CVE-2026-557358.2 HIGHGuardian.revoke/3 acts on unverified token claims, allowing forged-token session revocatio
CVE-2026-557336.9 MEDIUMAtom-table exhaustion denial of service in Guardian permissions AtomEncoding via unbounded
CVE-2026-557346.9 MEDIUMguardian atom exhaustion in Guardian.Permissions.encode_permissions!/1

IV. Related Vulnerabilities

V. Comments for CVE-2026-54894

No comments yet


Leave a comment