Security Resilience

CVE-2026-28809

XXE in Arekinath Esaml ≤ 1.1

Published
23 March 2026
Modified
24 July 2026
Patch / advisory
CVSS Score v4 6.3
Click a component to see what it means
Raw vectorCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS Score 0.0047 40th percentile
Risk Priority 40 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-28809 is a medium-severity Improper Restriction of XML External Entity Reference (CWE-611) vulnerability in Arekinath Esaml. Its CVSS base score is 6.3 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Data from Local System (T1005); ranked at the 40th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to CM-6 (Configuration Settings) and SA-11 (Developer Testing and Evaluation) — see the control section below for these in your framework.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

XML External Entity (XXE) vulnerability in esaml (and its forks) allows an attacker to cause the system to read local files and incorporate their contents into processed SAML documents, and potentially perform SSRF via crafted SAML messages. esaml parses attacker-controlled…

more

SAML messages using xmerl_scan:string/2 before signature verification without disabling XML entity expansion. On Erlang/OTP versions before 27, Xmerl allows entities by default, enabling pre-signature XXE attacks. An attacker can cause the host to read local files (e.g., Kubernetes-mounted secrets) into the SAML document. If the attacker is not a trusted SAML SP, signature verification will fail and the document is discarded, but file contents may still be exposed through logs or error messages. This issue affects all versions of esaml, including forks by arekinath, handnot2, and dropbox. Users running on Erlang/OTP 27 or later are not affected due to Xmerl defaulting to entities disabled.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1005 Data from Local System Collection
Adversaries may search local system sources, such as file systems, configuration files, local databases, virtual machine files, or process memory, to find files of interest and sensitive data prior to Exfiltration.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2025-11700Shared CWE-611
CVE-2024-47582Shared CWE-611
CVE-2026-77090Shared CWE-611
CVE-2024-22354Shared CWE-611
CVE-2024-22024Shared CWE-611
CVE-2025-26400Shared CWE-611
CVE-2024-51132Shared CWE-611
CVE-2024-3930Shared CWE-611
CVE-2024-36827Shared CWE-611
CVE-2024-21255Shared CWE-611

Affected Assets

arekinath
esaml
≤ 1.1
dropbox
esaml
all versions
handnot2
esaml
≤ 4.2.0
jump-app
esaml
≤ 4.6.0

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

—

Detect
Catch it (NIST detect / respond)

—

Harden
Shrink the surface (DISA STIG)

—

Validate
Prove the fix (OWASP ASVS)
  • V1.5.1
  • V15.3.2

Mitigating Controls (NIST 800-53 r5) AI

Secure configuration settings can disable external entity processing in XML parsers.

Developer testing can discover XXE flaws through targeted XML parsing tests.

Input validation can reject or sanitize XML containing external entity references.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-01 mostly match
blocks

Hardened XML parser configurations directly disable external entity resolution.

PR.PS-06 mostly match
blocks

Secure SDLC practices include input validation and safe XML parser configuration that prevent XXE.

ID.RA-01 partial match
blocks

Vulnerability scanning can discover XXE flaws but does not prevent their introduction in code.

PR.PS-02 partial match
blocks

Patching eliminates XXE-vulnerable parser versions but is only one aspect of software maintenance.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

finds

Security testing in development catches XXE via static analysis and dynamic XML fuzzing.

prevents

Secure coding standards require disabling DTDs and external entities in XML processing.

finds

REACH: a disclosure-reach control sees only instances that carry a vendor-published flaw, so `finds` is at most `partial` (rule, 2026-10-17).

References