XXE (Entité XML externe) dans esaml (CVE-2026-28809)
Résumé
Vulnérabilité dans esaml (CVE-2026-28809). Risque d'opérations non autorisées ou de divulgation.
Description d'origine
La description telle que publiée par la source (souvent en anglais).
Summary
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 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.
Workarounds
Upgrade to Erlang/OTP 27 or later. Starting with OTP 27, xmerl_scan disables entity expansion by default, which mitigates this vulnerability without changes to esaml.
Configurations
The application must use esaml to process SAML messages and run on Erlang/OTP versions before 27. Starting with OTP 27, xmerl_scan disables entity expansion by default, which mitigates this vulnerability.
Source: NIST National Vulnerability Database NVD GitHub Advisory
Résumé généré automatiquement
Assemblé par SecPulse à partir des données sources (CVSS, CWE, versions affectées) à l'aide de modèles, sans IA. Vérifiez la description d'origine et les références ci-dessous.
Une vulnérabilité référencée CVE-2026-28809 a été découverte dans esaml.
Risque d'opérations non autorisées ou de divulgation. Score CVSS : 5.3/10.
Action : appliquez le correctif officiel de l'éditeur.
En cas de doute, contactez votre service informatique ou cherchez « esaml CVE-2026-28809 » sur le site de l'éditeur.
CVE-2026-28809 (esaml) — CWE-611 / CVSS v3 5.3
Vecteur d'attaque : distant (réseau) / non authentifié / sans interaction utilisateur
Contournement : Upgrade to Erlang/OTP 27 or later.
Plan : 1) Audit SBOM, 2) Mise à jour staging→prod, 3) Surveillance WAF/proxy sur les endpoints affectés, 4) Recherche d'IOC dans les logs.
Réfs : voir GHSA / avis éditeur / version corrigée liés sur cette page.
Une vulnérabilité (CWE-611) affecte esaml.
Consultez l'avis de l'éditeur pour les versions affectées de esaml.
Gravité : Moyenne (CVSS 5.3/10). Risque d'opérations non autorisées ou de divulgation.
Mettre à jour vers la version corrigée selon l'avis éditeur.
Contournement : Upgrade to Erlang/OTP 27 or later.
Recherchez dans les logs des requêtes correspondant aux IOC connus de cette CVE. Auditez les SBOM/dépendances.
Actions de réponse
Étapes concrètes et exemples de commandes que les équipes SOC/SRE doivent exécuter dans l'ordre
-
1Identify exposure identify
grep -r 'esaml' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
esamlを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply temporary workaround mitigate
Upgrade to Erlang/OTP 27 or later.パッチが適用されるまでの応急処置として、Upgrade to Erlang/OTP 27 or later. を実施。回避策の副作用 (機能低下) を確認した上で。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Paquets affectés
Références
- advisory osv.dev
- package hex.pm
- patch github.com
- web cna.erlef.org