Search

Find a vulnerability

Search criteria ⓘ Use this form to refine search results.
Full-text search supports keyword queries with ranking and filtering.
You can combine vendor, product, and sources to narrow results.
Enable “Apply ordering” to sort by date instead of relevance.

    44 vulnerabilities by dropbox

    CVE-2026-93471 (GCVE-0-2026-93471)

    Vulnerability from nvd – Published: 2026-10-22 06:59 – Updated: 2026-10-22 06:59
    VLAI
    Title
    Unbounded SAML message decompression in esaml allows memory exhaustion
    Summary
    Improper Handling of Highly Compressed Data (Data Amplification) in esaml_binding in dropbox esaml allows an unauthenticated attacker to exhaust server memory and crash the Erlang VM via a crafted compressed SAMLResponse. esaml_binding:decode_response/2 base64-decodes the attacker-supplied SAMLResponse, inflates it with zlib:unzip/1 with no bound on the output, then converts the result to a charlist with binary_to_list/1 before parsing. This runs on the SAML consume (ACS) and single-logout endpoints, which accept unauthenticated requests by design, and it runs before any signature check. A small deflate stream reaches a compression ratio near 1000 to 1, so a request body of tens of kilobytes inflates to hundreds of megabytes and then to several gigabytes of list heap, so a few requests exhaust memory and take the node down. This issue affects esaml: from 0.1.0 onward.
    CWE
    • CWE-409 - Improper Handling of Highly Compressed Data (Data Amplification)
    Assigner
    EEF CNA under the mitre root
    CNA scorecard A 96/100 over 318 records in the last 180 days details
    Impacted products
    Vendor Product Version
    handnot2 esaml Affected: deeb84378d5c82153b470e99d24f77c38afca14a , < * (git)
        cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    arekinath esaml Affected: deeb84378d5c82153b470e99d24f77c38afca14a , < * (git)
        cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox esaml Affected: 0.1.0 , < * (semver)
        cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox esaml Affected: deeb84378d5c82153b470e99d24f77c38afca14a , < * (git)
        cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "handnot2/esaml",
              "packageURL": "pkg:github/handnot2/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/handnot2/esaml",
              "vendor": "handnot2",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "deeb84378d5c82153b470e99d24f77c38afca14a",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "arekinath/esaml",
              "packageURL": "pkg:github/arekinath/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/arekinath/esaml",
              "vendor": "arekinath",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "deeb84378d5c82153b470e99d24f77c38afca14a",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "esaml",
              "packageURL": "pkg:hex/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/dropbox/esaml",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "0.1.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "dropbox/esaml",
              "packageURL": "pkg:github/dropbox/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/dropbox/esaml",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "deeb84378d5c82153b470e99d24f77c38afca14a",
                  "versionType": "git"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "2.0.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "0.1.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "Quinn Wilton"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Jonatan M\u00e4nnchen / EEF"
            },
            {
              "lang": "en",
              "type": "analyst",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "dateAssigned": "2026-10-06T10:25:40.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eImproper Handling of Highly Compressed Data (Data Amplification) in \u003ccode\u003eesaml_binding\u003c/code\u003e in dropbox esaml allows an unauthenticated attacker to exhaust server memory and crash the Erlang VM via a crafted compressed \u003ccode\u003eSAMLResponse\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eesaml_binding:decode_response/2\u003c/code\u003e base64-decodes the attacker-supplied \u003ccode\u003eSAMLResponse\u003c/code\u003e, inflates it with \u003ccode\u003ezlib:unzip/1\u003c/code\u003e with no bound on the output, then converts the result to a charlist with \u003ccode\u003ebinary_to_list/1\u003c/code\u003e before parsing. This runs on the SAML consume (ACS) and single-logout endpoints, which accept unauthenticated requests by design, and it runs before any signature check. A small deflate stream reaches a compression ratio near 1000 to 1, so a request body of tens of kilobytes inflates to hundreds of megabytes and then to several gigabytes of list heap, so a few requests exhaust memory and take the node down.\u003c/p\u003e\n\u003cp\u003eThis issue affects esaml: from 0.1.0 onward.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Improper Handling of Highly Compressed Data (Data Amplification) in `esaml_binding` in dropbox esaml allows an unauthenticated attacker to exhaust server memory and crash the Erlang VM via a crafted compressed `SAMLResponse`.\n\n`esaml_binding:decode_response/2` base64-decodes the attacker-supplied `SAMLResponse`, inflates it with `zlib:unzip/1` with no bound on the output, then converts the result to a charlist with `binary_to_list/1` before parsing. This runs on the SAML consume (ACS) and single-logout endpoints, which accept unauthenticated requests by design, and it runs before any signature check. A small deflate stream reaches a compression ratio near 1000 to 1, so a request body of tens of kilobytes inflates to hundreds of megabytes and then to several gigabytes of list heap, so a few requests exhaust memory and take the node down.\n\nThis issue affects esaml: from 0.1.0 onward."
                }
              ],
              "value": "Improper Handling of Highly Compressed Data (Data Amplification) in esaml_binding in dropbox esaml allows an unauthenticated attacker to exhaust server memory and crash the Erlang VM via a crafted compressed SAMLResponse.\n\nesaml_binding:decode_response/2 base64-decodes the attacker-supplied SAMLResponse, inflates it with zlib:unzip/1 with no bound on the output, then converts the result to a charlist with binary_to_list/1 before parsing. This runs on the SAML consume (ACS) and single-logout endpoints, which accept unauthenticated requests by design, and it runs before any signature check. A small deflate stream reaches a compression ratio near 1000 to 1, so a request body of tens of kilobytes inflates to hundreds of megabytes and then to several gigabytes of list heap, so a few requests exhaust memory and take the node down.\n\nThis issue affects esaml: from 0.1.0 onward."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-231",
              "descriptions": [
                {
                  "lang": "en",
                  "supportingMedia": [
                    {
                      "base64": false,
                      "type": "text/html",
                      "value": "\u003cp\u003eAn unauthenticated attacker reaches a SAML consume or single-logout endpoint and posts a small compressed \u003ccode\u003eSAMLResponse\u003c/code\u003e that inflates to gigabytes, exhausting memory. A few requests crash the Erlang VM and deny service to every user of the service provider.\u003c/p\u003e"
                    },
                    {
                      "base64": false,
                      "type": "text/markdown",
                      "value": "An unauthenticated attacker reaches a SAML consume or single-logout endpoint and posts a small compressed `SAMLResponse` that inflates to gigabytes, exhausting memory. A few requests crash the Erlang VM and deny service to every user of the service provider."
                    }
                  ],
                  "value": "An unauthenticated attacker reaches a SAML consume or single-logout endpoint and posts a small compressed SAMLResponse that inflates to gigabytes, exhausting memory. A few requests crash the Erlang VM and deny service to every user of the service provider."
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.7,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-409",
                  "description": "CWE-409 Improper Handling of Highly Compressed Data (Data Amplification)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-22T06:59:24.029Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "name": "EEF CNA record for CVE-2026-93471",
              "tags": [
                "related",
                "third-party-advisory"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-93471.html"
            },
            {
              "name": "OSV record EEF-CVE-2026-93471",
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-93471"
            },
            {
              "name": "Introducing commit deeb843 in handnot2/esaml",
              "tags": [
                "related"
              ],
              "url": "https://github.com/handnot2/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a"
            },
            {
              "name": "Introducing commit deeb843 in arekinath/esaml",
              "tags": [
                "related"
              ],
              "url": "https://github.com/arekinath/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a"
            },
            {
              "name": "Introducing commit deeb843 in dropbox/esaml",
              "tags": [
                "related",
                "broken-link"
              ],
              "url": "https://github.com/dropbox/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "Unbounded SAML message decompression in esaml allows memory exhaustion",
          "x_proofOfConcept": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003col\u003e\n\u003cli\u003eBuild a \u003ccode\u003eSAMLResponse\u003c/code\u003e as the base64 of a raw deflate stream of a long run of identical bytes (for example 60 MB of zero bytes), which encodes to roughly 79 KB on the wire.\u003c/li\u003e\n\u003cli\u003ePost it to the service provider\u0027s SAML consume (ACS) endpoint as the \u003ccode\u003eSAMLResponse\u003c/code\u003e form field, with \u003ccode\u003eSAMLEncoding\u003c/code\u003e set to the DEFLATE URI, or omitted to take the default clause.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eesaml_binding:decode_response/2\u003c/code\u003e inflates the stream and converts it to a charlist before any signature check. A single request spikes the Erlang VM by several gigabytes. Repeat to exhaust memory and crash the node.\u003c/li\u003e\n\u003c/ol\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "1. Build a `SAMLResponse` as the base64 of a raw deflate stream of a long run of identical bytes (for example 60 MB of zero bytes), which encodes to roughly 79 KB on the wire.\n2. Post it to the service provider\u0027s SAML consume (ACS) endpoint as the `SAMLResponse` form field, with `SAMLEncoding` set to the DEFLATE URI, or omitted to take the default clause.\n3. `esaml_binding:decode_response/2` inflates the stream and converts it to a charlist before any signature check. A single request spikes the Erlang VM by several gigabytes. Repeat to exhaust memory and crash the node."
                }
              ],
              "value": "* Build a SAMLResponse as the base64 of a raw deflate stream of a long run of identical bytes (for example 60 MB of zero bytes), which encodes to roughly 79 KB on the wire.\n* Post it to the service provider\u0027s SAML consume (ACS) endpoint as the SAMLResponse form field, with SAMLEncoding set to the DEFLATE URI, or omitted to take the default clause.\n* esaml_binding:decode_response/2 inflates the stream and converts it to a charlist before any signature check. A single request spikes the Erlang VM by several gigabytes. Repeat to exhaust memory and crash the node."
            }
          ],
          "x_technicalAnalysis": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003e\u003cstrong\u003e1. Input.\u003c/strong\u003e The SAML consume (ACS) and single-logout endpoints read the request body and pass the \u003ccode\u003eSAMLResponse\u003c/code\u003e form field to \u003ccode\u003eesaml_binding:decode_response/2\u003c/code\u003e. The attacker\u0027s \u003ccode\u003eSAMLEncoding\u003c/code\u003e field selects the clause. Both clauses inflate: the explicit DEFLATE clause, and the default clause, which tries \u003ccode\u003ezlib:unzip/1\u003c/code\u003e inside a \u003ccode\u003ecatch\u003c/code\u003e whenever the body is not plain XML.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2. Unbounded inflate.\u003c/strong\u003e \u003ccode\u003edecode_response/2\u003c/code\u003e evaluates \u003ccode\u003ebinary_to_list(zlib:unzip(base64:decode(SAMLResponse)))\u003c/code\u003e. \u003ccode\u003ezlib:unzip/1\u003c/code\u003e inflates the whole stream in one call with no cap on output size, and \u003ccode\u003ebinary_to_list/1\u003c/code\u003e then expands the inflated binary to a charlist, which costs about 16 bytes of heap per byte on a 64-bit VM.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3. Exhaustion before any check.\u003c/strong\u003e All of this happens before \u003ccode\u003exmerl_scan\u003c/code\u003e parses the document and before \u003ccode\u003eesaml_sp\u003c/code\u003e verifies any signature. A deflate stream of a long run of identical bytes reaches a ratio near 1000 to 1, so a request body of tens of kilobytes produces hundreds of megabytes of binary and then several gigabytes of list heap. A few concurrent requests exhaust memory and crash the node.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "**1. Input.** The SAML consume (ACS) and single-logout endpoints read the request body and pass the `SAMLResponse` form field to `esaml_binding:decode_response/2`. The attacker\u0027s `SAMLEncoding` field selects the clause. Both clauses inflate: the explicit DEFLATE clause, and the default clause, which tries `zlib:unzip/1` inside a `catch` whenever the body is not plain XML.\n\n**2. Unbounded inflate.** `decode_response/2` evaluates `binary_to_list(zlib:unzip(base64:decode(SAMLResponse)))`. `zlib:unzip/1` inflates the whole stream in one call with no cap on output size, and `binary_to_list/1` then expands the inflated binary to a charlist, which costs about 16 bytes of heap per byte on a 64-bit VM.\n\n**3. Exhaustion before any check.** All of this happens before `xmerl_scan` parses the document and before `esaml_sp` verifies any signature. A deflate stream of a long run of identical bytes reaches a ratio near 1000 to 1, so a request body of tens of kilobytes produces hundreds of megabytes of binary and then several gigabytes of list heap. A few concurrent requests exhaust memory and crash the node."
                }
              ],
              "value": "1. Input. The SAML consume (ACS) and single-logout endpoints read the request body and pass the SAMLResponse form field to esaml_binding:decode_response/2. The attacker\u0027s SAMLEncoding field selects the clause. Both clauses inflate: the explicit DEFLATE clause, and the default clause, which tries zlib:unzip/1 inside a catch whenever the body is not plain XML.\n\n2. Unbounded inflate. decode_response/2 evaluates binary_to_list(zlib:unzip(base64:decode(SAMLResponse))). zlib:unzip/1 inflates the whole stream in one call with no cap on output size, and binary_to_list/1 then expands the inflated binary to a charlist, which costs about 16 bytes of heap per byte on a 64-bit VM.\n\n3. Exhaustion before any check. All of this happens before xmerl_scan parses the document and before esaml_sp verifies any signature. A deflate stream of a long run of identical bytes reaches a ratio near 1000 to 1, so a request body of tens of kilobytes produces hundreds of megabytes of binary and then several gigabytes of list heap. A few concurrent requests exhaust memory and crash the node."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-93471",
        "datePublished": "2026-10-22T06:59:24.029Z",
        "dateReserved": "2026-10-06T08:45:01.518Z",
        "dateUpdated": "2026-10-22T06:59:24.029Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-86696 (GCVE-0-2026-86696)

    Vulnerability from nvd – Published: 2026-10-22 06:59 – Updated: 2026-10-22 06:59
    VLAI
    Title
    Unbounded atom creation from unsigned LogoutResponse status codes in esaml allows atom table exhaustion
    Summary
    Allocation of Resources Without Limits or Throttling vulnerability in esaml in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via unsigned LogoutResponse messages. esaml:status_code_map/1 in src/esaml.erl maps any StatusCode value it does not recognize to an atom with list_to_atom/1 on the last colon-separated segment of the URN. esaml_sp:validate_logout_response/2 verifies a signature only when the message carries one, so an unsigned LogoutResponse posted to the single-logout endpoint reaches esaml:decode_logout_response/1 and mints one permanent atom per distinct status value. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so an attacker who posts that many distinct values aborts the node. This issue affects esaml: from 0.1.0 onward.
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Assigner
    EEF CNA under the mitre root
    CNA scorecard A 96/100 over 318 records in the last 180 days details
    Impacted products
    Vendor Product Version
    handnot2 esaml Affected: be692b56245071899757afa7ef47e43593d3de96 , < * (git)
        cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    arekinath esaml Affected: be692b56245071899757afa7ef47e43593d3de96 , < * (git)
        cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox esaml Affected: 0.1.0 , < * (semver)
        cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox esaml Affected: be692b56245071899757afa7ef47e43593d3de96 , < * (git)
        cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml",
                "esaml_sp",
                "esaml_cowboy"
              ],
              "packageName": "handnot2/esaml",
              "packageURL": "pkg:github/handnot2/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml.erl",
                "src/esaml_sp.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml:status_code_map/1"
                },
                {
                  "name": "esaml:decode_logout_response/1"
                },
                {
                  "name": "esaml_sp:validate_logout_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/handnot2/esaml",
              "vendor": "handnot2",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "be692b56245071899757afa7ef47e43593d3de96",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml",
                "esaml_sp",
                "esaml_cowboy"
              ],
              "packageName": "arekinath/esaml",
              "packageURL": "pkg:github/arekinath/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml.erl",
                "src/esaml_sp.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml:status_code_map/1"
                },
                {
                  "name": "esaml:decode_logout_response/1"
                },
                {
                  "name": "esaml_sp:validate_logout_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/arekinath/esaml",
              "vendor": "arekinath",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "be692b56245071899757afa7ef47e43593d3de96",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml",
                "esaml_sp",
                "esaml_cowboy"
              ],
              "packageName": "esaml",
              "packageURL": "pkg:hex/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml.erl",
                "src/esaml_sp.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml:status_code_map/1"
                },
                {
                  "name": "esaml:decode_logout_response/1"
                },
                {
                  "name": "esaml_sp:validate_logout_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/dropbox/esaml",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "0.1.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml",
                "esaml_sp",
                "esaml_cowboy"
              ],
              "packageName": "dropbox/esaml",
              "packageURL": "pkg:github/dropbox/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml.erl",
                "src/esaml_sp.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml:status_code_map/1"
                },
                {
                  "name": "esaml:decode_logout_response/1"
                },
                {
                  "name": "esaml_sp:validate_logout_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/dropbox/esaml",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "be692b56245071899757afa7ef47e43593d3de96",
                  "versionType": "git"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eReachable only where the service provider exposes a single-logout endpoint that hands incoming \u003ccode\u003eLogoutResponse\u003c/code\u003e messages to \u003ccode\u003eesaml_sp:validate_logout_response/2\u003c/code\u003e, directly or through \u003ccode\u003eesaml_cowboy:validate_logout/2\u003c/code\u003e. The consume (ACS) path verifies signatures before decoding and does not reach the status code mapping.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Reachable only where the service provider exposes a single-logout endpoint that hands incoming `LogoutResponse` messages to `esaml_sp:validate_logout_response/2`, directly or through `esaml_cowboy:validate_logout/2`. The consume (ACS) path verifies signatures before decoding and does not reach the status code mapping."
                }
              ],
              "value": "Reachable only where the service provider exposes a single-logout endpoint that hands incoming LogoutResponse messages to esaml_sp:validate_logout_response/2, directly or through esaml_cowboy:validate_logout/2. The consume (ACS) path verifies signatures before decoding and does not reach the status code mapping."
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "2.0.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "0.1.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Quinn Wilton"
            },
            {
              "lang": "en",
              "type": "reporter",
              "value": "Quinn Wilton"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "dateAssigned": "2026-10-08T14:39:37.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eAllocation of Resources Without Limits or Throttling vulnerability in \u003ccode\u003eesaml\u003c/code\u003e in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via unsigned \u003ccode\u003eLogoutResponse\u003c/code\u003e messages.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eesaml:status_code_map/1\u003c/code\u003e in \u003ccode\u003esrc/esaml.erl\u003c/code\u003e maps any \u003ccode\u003eStatusCode\u003c/code\u003e value it does not recognize to an atom with \u003ccode\u003elist_to_atom/1\u003c/code\u003e on the last colon-separated segment of the URN. \u003ccode\u003eesaml_sp:validate_logout_response/2\u003c/code\u003e verifies a signature only when the message carries one, so an unsigned \u003ccode\u003eLogoutResponse\u003c/code\u003e posted to the single-logout endpoint reaches \u003ccode\u003eesaml:decode_logout_response/1\u003c/code\u003e and mints one permanent atom per distinct status value. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so an attacker who posts that many distinct values aborts the node.\u003c/p\u003e\n\u003cp\u003eThis issue affects esaml: from 0.1.0 onward.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Allocation of Resources Without Limits or Throttling vulnerability in `esaml` in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via unsigned `LogoutResponse` messages.\n\n`esaml:status_code_map/1` in `src/esaml.erl` maps any `StatusCode` value it does not recognize to an atom with `list_to_atom/1` on the last colon-separated segment of the URN. `esaml_sp:validate_logout_response/2` verifies a signature only when the message carries one, so an unsigned `LogoutResponse` posted to the single-logout endpoint reaches `esaml:decode_logout_response/1` and mints one permanent atom per distinct status value. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so an attacker who posts that many distinct values aborts the node.\n\nThis issue affects esaml: from 0.1.0 onward."
                }
              ],
              "value": "Allocation of Resources Without Limits or Throttling vulnerability in esaml in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via unsigned LogoutResponse messages.\n\nesaml:status_code_map/1 in src/esaml.erl maps any StatusCode value it does not recognize to an atom with list_to_atom/1 on the last colon-separated segment of the URN. esaml_sp:validate_logout_response/2 verifies a signature only when the message carries one, so an unsigned LogoutResponse posted to the single-logout endpoint reaches esaml:decode_logout_response/1 and mints one permanent atom per distinct status value. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so an attacker who posts that many distinct values aborts the node.\n\nThis issue affects esaml: from 0.1.0 onward."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-125",
              "descriptions": [
                {
                  "lang": "en",
                  "supportingMedia": [
                    {
                      "base64": false,
                      "type": "text/html",
                      "value": "\u003cp\u003eAn unauthenticated attacker posts unsigned \u003ccode\u003eLogoutResponse\u003c/code\u003e messages with distinct status code URNs to a service provider\u0027s single-logout endpoint. Each message permanently consumes one atom table entry, and about one million of them abort the Erlang VM, denying service to every user of the service provider.\u003c/p\u003e"
                    },
                    {
                      "base64": false,
                      "type": "text/markdown",
                      "value": "An unauthenticated attacker posts unsigned `LogoutResponse` messages with distinct status code URNs to a service provider\u0027s single-logout endpoint. Each message permanently consumes one atom table entry, and about one million of them abort the Erlang VM, denying service to every user of the service provider."
                    }
                  ],
                  "value": "An unauthenticated attacker posts unsigned LogoutResponse messages with distinct status code URNs to a service provider\u0027s single-logout endpoint. Each message permanently consumes one atom table entry, and about one million of them abort the Erlang VM, denying service to every user of the service provider."
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 8.2,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770 Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-22T06:59:07.680Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "name": "EEF CNA record for CVE-2026-86696",
              "tags": [
                "related",
                "third-party-advisory"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-86696.html"
            },
            {
              "name": "OSV record EEF-CVE-2026-86696",
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-86696"
            },
            {
              "name": "Introducing commit be692b5 in handnot2/esaml",
              "tags": [
                "related"
              ],
              "url": "https://github.com/handnot2/esaml/commit/be692b56245071899757afa7ef47e43593d3de96"
            },
            {
              "name": "Introducing commit be692b5 in arekinath/esaml",
              "tags": [
                "related"
              ],
              "url": "https://github.com/arekinath/esaml/commit/be692b56245071899757afa7ef47e43593d3de96"
            },
            {
              "name": "Introducing commit be692b5 in dropbox/esaml",
              "tags": [
                "related",
                "broken-link"
              ],
              "url": "https://github.com/dropbox/esaml/commit/be692b56245071899757afa7ef47e43593d3de96"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "Unbounded atom creation from unsigned LogoutResponse status codes in esaml allows atom table exhaustion",
          "x_proofOfConcept": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003col\u003e\n\u003cli\u003eBuild an unsigned \u003ccode\u003esamlp:LogoutResponse\u003c/code\u003e document with \u003ccode\u003eVersion=\"2.0\"\u003c/code\u003e, any \u003ccode\u003eIssueInstant\u003c/code\u003e, and a \u003ccode\u003esamlp:Status/samlp:StatusCode\u003c/code\u003e whose \u003ccode\u003eValue\u003c/code\u003e is a fresh URN such as \u003ccode\u003eurn:x:\u0026lt;unique token\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDeflate and base64-encode it, and post it to the service provider\u0027s single-logout endpoint as the \u003ccode\u003eSAMLResponse\u003c/code\u003e form field with \u003ccode\u003eSAMLEncoding\u003c/code\u003e set to the DEFLATE URI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eesaml_sp:validate_logout_response/2\u003c/code\u003e skips signature verification because none is present, \u003ccode\u003eesaml:decode_logout_response/1\u003c/code\u003e maps the status through \u003ccode\u003estatus_code_map/1\u003c/code\u003e, and the atom table grows by one entry per distinct token. The endpoint answers with an error, but the atom is never reclaimed. Repeat with fresh tokens until the VM aborts.\u003c/li\u003e\n\u003c/ol\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "1. Build an unsigned `samlp:LogoutResponse` document with `Version=\"2.0\"`, any `IssueInstant`, and a `samlp:Status/samlp:StatusCode` whose `Value` is a fresh URN such as `urn:x:\u003cunique token\u003e`.\n2. Deflate and base64-encode it, and post it to the service provider\u0027s single-logout endpoint as the `SAMLResponse` form field with `SAMLEncoding` set to the DEFLATE URI.\n3. `esaml_sp:validate_logout_response/2` skips signature verification because none is present, `esaml:decode_logout_response/1` maps the status through `status_code_map/1`, and the atom table grows by one entry per distinct token. The endpoint answers with an error, but the atom is never reclaimed. Repeat with fresh tokens until the VM aborts."
                }
              ],
              "value": "* Build an unsigned samlp:LogoutResponse document with Version=\"2.0\", any IssueInstant, and a samlp:Status/samlp:StatusCode whose Value is a fresh URN such as urn:x:\u003cunique token\u003e.\n* Deflate and base64-encode it, and post it to the service provider\u0027s single-logout endpoint as the SAMLResponse form field with SAMLEncoding set to the DEFLATE URI.\n* esaml_sp:validate_logout_response/2 skips signature verification because none is present, esaml:decode_logout_response/1 maps the status through status_code_map/1, and the atom table grows by one entry per distinct token. The endpoint answers with an error, but the atom is never reclaimed. Repeat with fresh tokens until the VM aborts."
            }
          ],
          "x_technicalAnalysis": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003e\u003cstrong\u003e1. Input.\u003c/strong\u003e The single-logout endpoint in \u003ccode\u003eesaml_cowboy:validate_logout/2\u003c/code\u003e reads the request body, decodes the \u003ccode\u003eSAMLResponse\u003c/code\u003e form field with \u003ccode\u003eesaml_binding:decode_response/2\u003c/code\u003e, and passes a \u003ccode\u003esamlp:LogoutResponse\u003c/code\u003e document to \u003ccode\u003eesaml_sp:validate_logout_response/2\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2. No signature required.\u003c/strong\u003e \u003ccode\u003evalidate_logout_response/2\u003c/code\u003e looks for a \u003ccode\u003eds:Signature\u003c/code\u003e element and verifies it only when one is present. An unsigned document passes through unchanged to \u003ccode\u003eesaml:decode_logout_response/1\u003c/code\u003e, which requires only the \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eIssueInstant\u003c/code\u003e attributes before mapping the \u003ccode\u003eStatusCode\u003c/code\u003e value.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3. Interning.\u003c/strong\u003e \u003ccode\u003eesaml:status_code_map/1\u003c/code\u003e matches six known SAML status URNs to fixed atoms. Any other value starting with \u003ccode\u003eurn:\u003c/code\u003e falls through to a clause that interns the last colon-separated segment with \u003ccode\u003elist_to_atom/1\u003c/code\u003e. The attacker chooses that segment, so each request with a fresh value mints one permanent atom. The VM aborts when the atom table reaches its limit of about one million entries.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "**1. Input.** The single-logout endpoint in `esaml_cowboy:validate_logout/2` reads the request body, decodes the `SAMLResponse` form field with `esaml_binding:decode_response/2`, and passes a `samlp:LogoutResponse` document to `esaml_sp:validate_logout_response/2`.\n\n**2. No signature required.** `validate_logout_response/2` looks for a `ds:Signature` element and verifies it only when one is present. An unsigned document passes through unchanged to `esaml:decode_logout_response/1`, which requires only the `Version` and `IssueInstant` attributes before mapping the `StatusCode` value.\n\n**3. Interning.** `esaml:status_code_map/1` matches six known SAML status URNs to fixed atoms. Any other value starting with `urn:` falls through to a clause that interns the last colon-separated segment with `list_to_atom/1`. The attacker chooses that segment, so each request with a fresh value mints one permanent atom. The VM aborts when the atom table reaches its limit of about one million entries."
                }
              ],
              "value": "1. Input. The single-logout endpoint in esaml_cowboy:validate_logout/2 reads the request body, decodes the SAMLResponse form field with esaml_binding:decode_response/2, and passes a samlp:LogoutResponse document to esaml_sp:validate_logout_response/2.\n\n2. No signature required. validate_logout_response/2 looks for a ds:Signature element and verifies it only when one is present. An unsigned document passes through unchanged to esaml:decode_logout_response/1, which requires only the Version and IssueInstant attributes before mapping the StatusCode value.\n\n3. Interning. esaml:status_code_map/1 matches six known SAML status URNs to fixed atoms. Any other value starting with urn: falls through to a clause that interns the last colon-separated segment with list_to_atom/1. The attacker chooses that segment, so each request with a fresh value mints one permanent atom. The VM aborts when the atom table reaches its limit of about one million entries."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-86696",
        "datePublished": "2026-10-22T06:59:07.680Z",
        "dateReserved": "2026-10-08T13:45:02.138Z",
        "dateUpdated": "2026-10-22T06:59:07.680Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-105270 (GCVE-0-2026-105270)

    Vulnerability from nvd – Published: 2026-10-22 06:58 – Updated: 2026-10-22 06:58
    VLAI
    Title
    Unbounded atom creation while parsing SAML messages in esaml allows atom table exhaustion
    Summary
    Allocation of Resources Without Limits or Throttling vulnerability in esaml_binding in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via a crafted SAMLResponse. esaml_binding:decode_response/2 parses the decoded SAMLResponse with xmerl_scan:string/2, which interns every element name, attribute name, and namespace prefix it reads as a permanent atom. The SAML consume (ACS) and single-logout endpoints call it on unauthenticated requests before any signature check, so one well-formed document with thousands of distinct names mints thousands of atoms while staying inside the 128 KB request body limit. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so a few dozen requests abort the node. This issue affects esaml: from 0.1.0 onward.
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Assigner
    EEF CNA under the mitre root
    CNA scorecard A 96/100 over 318 records in the last 180 days details
    Impacted products
    Vendor Product Version
    arekinath esaml Affected: deeb84378d5c82153b470e99d24f77c38afca14a , < * (git)
        cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    handnot2 esaml Affected: deeb84378d5c82153b470e99d24f77c38afca14a , < * (git)
        cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox esaml Affected: 0.1.0 , < * (semver)
        cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox esaml Affected: deeb84378d5c82153b470e99d24f77c38afca14a , < * (git)
        cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "arekinath/esaml",
              "packageURL": "pkg:github/arekinath/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/arekinath/esaml",
              "vendor": "arekinath",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "deeb84378d5c82153b470e99d24f77c38afca14a",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "handnot2/esaml",
              "packageURL": "pkg:github/handnot2/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/handnot2/esaml",
              "vendor": "handnot2",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "deeb84378d5c82153b470e99d24f77c38afca14a",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "esaml",
              "packageURL": "pkg:hex/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/dropbox/esaml",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "0.1.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "dropbox/esaml",
              "packageURL": "pkg:github/dropbox/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/dropbox/esaml",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "deeb84378d5c82153b470e99d24f77c38afca14a",
                  "versionType": "git"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "2.0.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "0.1.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Quinn Wilton"
            },
            {
              "lang": "en",
              "type": "reporter",
              "value": "Quinn Wilton"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "dateAssigned": "2026-10-08T14:44:30.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eAllocation of Resources Without Limits or Throttling vulnerability in \u003ccode\u003eesaml_binding\u003c/code\u003e in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via a crafted \u003ccode\u003eSAMLResponse\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eesaml_binding:decode_response/2\u003c/code\u003e parses the decoded \u003ccode\u003eSAMLResponse\u003c/code\u003e with \u003ccode\u003exmerl_scan:string/2\u003c/code\u003e, which interns every element name, attribute name, and namespace prefix it reads as a permanent atom. The SAML consume (ACS) and single-logout endpoints call it on unauthenticated requests before any signature check, so one well-formed document with thousands of distinct names mints thousands of atoms while staying inside the 128 KB request body limit. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so a few dozen requests abort the node.\u003c/p\u003e\n\u003cp\u003eThis issue affects esaml: from 0.1.0 onward.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Allocation of Resources Without Limits or Throttling vulnerability in `esaml_binding` in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via a crafted `SAMLResponse`.\n\n`esaml_binding:decode_response/2` parses the decoded `SAMLResponse` with `xmerl_scan:string/2`, which interns every element name, attribute name, and namespace prefix it reads as a permanent atom. The SAML consume (ACS) and single-logout endpoints call it on unauthenticated requests before any signature check, so one well-formed document with thousands of distinct names mints thousands of atoms while staying inside the 128 KB request body limit. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so a few dozen requests abort the node.\n\nThis issue affects esaml: from 0.1.0 onward."
                }
              ],
              "value": "Allocation of Resources Without Limits or Throttling vulnerability in esaml_binding in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via a crafted SAMLResponse.\n\nesaml_binding:decode_response/2 parses the decoded SAMLResponse with xmerl_scan:string/2, which interns every element name, attribute name, and namespace prefix it reads as a permanent atom. The SAML consume (ACS) and single-logout endpoints call it on unauthenticated requests before any signature check, so one well-formed document with thousands of distinct names mints thousands of atoms while staying inside the 128 KB request body limit. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so a few dozen requests abort the node.\n\nThis issue affects esaml: from 0.1.0 onward."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-130",
              "descriptions": [
                {
                  "lang": "en",
                  "supportingMedia": [
                    {
                      "base64": false,
                      "type": "text/html",
                      "value": "\u003cp\u003eAn unauthenticated attacker posts a small SAML document with thousands of distinct element and attribute names to a service provider\u0027s consume or single-logout endpoint. Each request permanently consumes thousands of atom table entries, and a few dozen requests abort the Erlang VM, denying service to every user of the service provider.\u003c/p\u003e"
                    },
                    {
                      "base64": false,
                      "type": "text/markdown",
                      "value": "An unauthenticated attacker posts a small SAML document with thousands of distinct element and attribute names to a service provider\u0027s consume or single-logout endpoint. Each request permanently consumes thousands of atom table entries, and a few dozen requests abort the Erlang VM, denying service to every user of the service provider."
                    }
                  ],
                  "value": "An unauthenticated attacker posts a small SAML document with thousands of distinct element and attribute names to a service provider\u0027s consume or single-logout endpoint. Each request permanently consumes thousands of atom table entries, and a few dozen requests abort the Erlang VM, denying service to every user of the service provider."
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.7,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770 Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-22T06:58:43.034Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "name": "EEF CNA record for CVE-2026-105270",
              "tags": [
                "related",
                "third-party-advisory"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-105270.html"
            },
            {
              "name": "OSV record EEF-CVE-2026-105270",
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-105270"
            },
            {
              "name": "Introducing commit deeb843 in arekinath/esaml",
              "tags": [
                "related"
              ],
              "url": "https://github.com/arekinath/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a"
            },
            {
              "name": "Introducing commit deeb843 in handnot2/esaml",
              "tags": [
                "related"
              ],
              "url": "https://github.com/handnot2/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a"
            },
            {
              "name": "Introducing commit deeb843 in dropbox/esaml",
              "tags": [
                "related",
                "broken-link"
              ],
              "url": "https://github.com/dropbox/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "Unbounded atom creation while parsing SAML messages in esaml allows atom table exhaustion",
          "x_proofOfConcept": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003col\u003e\n\u003cli\u003eBuild a well-formed XML document whose root contains several thousand empty elements with distinct names, each carrying a distinctly named attribute, for example \u003ccode\u003e\u0026lt;p0 a0=\"x\"/\u0026gt;\u003c/code\u003e through \u003ccode\u003e\u0026lt;p4999 a4999=\"x\"/\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDeflate and base64-encode it, and post it to the service provider\u0027s SAML consume (ACS) or single-logout endpoint as the \u003ccode\u003eSAMLResponse\u003c/code\u003e form field with \u003ccode\u003eSAMLEncoding\u003c/code\u003e set to the DEFLATE URI. A document with 5,000 elements and 5,000 attributes encodes to about 33 KB.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eesaml_binding:decode_response/2\u003c/code\u003e parses it with \u003ccode\u003exmerl_scan:string/2\u003c/code\u003e before any signature check, and the atom table grows by 10,000 entries that are never reclaimed. Repeat with fresh names until the VM aborts.\u003c/li\u003e\n\u003c/ol\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "1. Build a well-formed XML document whose root contains several thousand empty elements with distinct names, each carrying a distinctly named attribute, for example `\u003cp0 a0=\"x\"/\u003e` through `\u003cp4999 a4999=\"x\"/\u003e`.\n2. Deflate and base64-encode it, and post it to the service provider\u0027s SAML consume (ACS) or single-logout endpoint as the `SAMLResponse` form field with `SAMLEncoding` set to the DEFLATE URI. A document with 5,000 elements and 5,000 attributes encodes to about 33 KB.\n3. `esaml_binding:decode_response/2` parses it with `xmerl_scan:string/2` before any signature check, and the atom table grows by 10,000 entries that are never reclaimed. Repeat with fresh names until the VM aborts."
                }
              ],
              "value": "* Build a well-formed XML document whose root contains several thousand empty elements with distinct names, each carrying a distinctly named attribute, for example \u003cp0 a0=\"x\"/\u003e through \u003cp4999 a4999=\"x\"/\u003e.\n* Deflate and base64-encode it, and post it to the service provider\u0027s SAML consume (ACS) or single-logout endpoint as the SAMLResponse form field with SAMLEncoding set to the DEFLATE URI. A document with 5,000 elements and 5,000 attributes encodes to about 33 KB.\n* esaml_binding:decode_response/2 parses it with xmerl_scan:string/2 before any signature check, and the atom table grows by 10,000 entries that are never reclaimed. Repeat with fresh names until the VM aborts."
            }
          ],
          "x_technicalAnalysis": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003e\u003cstrong\u003e1. Input.\u003c/strong\u003e The SAML consume (ACS) and single-logout endpoints in \u003ccode\u003eesaml_cowboy\u003c/code\u003e read the request body, capped at 128 KB, and pass the \u003ccode\u003eSAMLResponse\u003c/code\u003e form field to \u003ccode\u003eesaml_binding:decode_response/2\u003c/code\u003e. Both the DEFLATE clause and the default clause end in \u003ccode\u003exmerl_scan:string/2\u003c/code\u003e with \u003ccode\u003enamespace_conformant\u003c/code\u003e set.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2. Interning.\u003c/strong\u003e \u003ccode\u003exmerl_scan\u003c/code\u003e converts every element name, attribute name, and namespace prefix it tokenizes into an atom with \u003ccode\u003elist_to_atom/1\u003c/code\u003e, and the same happens for each namespace local name in \u003ccode\u003eexpanded_name/4\u003c/code\u003e. A well-formed document with many distinct names therefore mints one permanent atom per name. Repetitive names deflate well, so a document with ten thousand distinct names fits in a few tens of kilobytes on the wire.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3. Exhaustion before any check.\u003c/strong\u003e Signature verification and assertion validation run on the parsed document afterward, so the atoms are minted whether or not the document is a valid or signed SAML message. Atoms are never garbage collected and the VM aborts when the atom table reaches its limit of about one million entries, so a few dozen requests take the node down.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "**1. Input.** The SAML consume (ACS) and single-logout endpoints in `esaml_cowboy` read the request body, capped at 128 KB, and pass the `SAMLResponse` form field to `esaml_binding:decode_response/2`. Both the DEFLATE clause and the default clause end in `xmerl_scan:string/2` with `namespace_conformant` set.\n\n**2. Interning.** `xmerl_scan` converts every element name, attribute name, and namespace prefix it tokenizes into an atom with `list_to_atom/1`, and the same happens for each namespace local name in `expanded_name/4`. A well-formed document with many distinct names therefore mints one permanent atom per name. Repetitive names deflate well, so a document with ten thousand distinct names fits in a few tens of kilobytes on the wire.\n\n**3. Exhaustion before any check.** Signature verification and assertion validation run on the parsed document afterward, so the atoms are minted whether or not the document is a valid or signed SAML message. Atoms are never garbage collected and the VM aborts when the atom table reaches its limit of about one million entries, so a few dozen requests take the node down."
                }
              ],
              "value": "1. Input. The SAML consume (ACS) and single-logout endpoints in esaml_cowboy read the request body, capped at 128 KB, and pass the SAMLResponse form field to esaml_binding:decode_response/2. Both the DEFLATE clause and the default clause end in xmerl_scan:string/2 with namespace_conformant set.\n\n2. Interning. xmerl_scan converts every element name, attribute name, and namespace prefix it tokenizes into an atom with list_to_atom/1, and the same happens for each namespace local name in expanded_name/4. A well-formed document with many distinct names therefore mints one permanent atom per name. Repetitive names deflate well, so a document with ten thousand distinct names fits in a few tens of kilobytes on the wire.\n\n3. Exhaustion before any check. Signature verification and assertion validation run on the parsed document afterward, so the atoms are minted whether or not the document is a valid or signed SAML message. Atoms are never garbage collected and the VM aborts when the atom table reaches its limit of about one million entries, so a few dozen requests take the node down."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-105270",
        "datePublished": "2026-10-22T06:58:43.034Z",
        "dateReserved": "2026-10-07T22:15:01.882Z",
        "dateUpdated": "2026-10-22T06:58:43.034Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-81102 (GCVE-0-2026-81102)

    Vulnerability from nvd – Published: 2026-08-27 14:50 – Updated: 2026-08-29 11:48
    VLAI
    Title
    Dropbox Dash MCP Server DNS Rebinding via Missing Host Header Validation
    Summary
    The Dash MCP server bound its listener to the loopback address but never checked the host a request named. src/mcp_server_dash.py constructed the server for its network mode with the interface restricted to loopback and no transport-security settings, so a name that had been pointed at the loopback address still reached the listener while carrying the attacker's host name. A page in a visitor's browser could therefore drive the local server and invoke its company-search and file-detail tools under the Dropbox credential the server holds. Only the network mode was reachable this way; the standard input mode was not. The fix supplies transport-security settings that enable host checking and allow only the loopback name and port, rejecting other hosts before a tool runs. The repository publishes no versions, so the affected boundary is the commit preceding the fix.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-08-27 18:24 UTC
    CWE
    • CWE-346 - Origin Validation Error
    Assigner
    VulnCheck CNA under the mitre root
    CNA scorecard B 84/100 over 6752 records in the last 180 days details
    Impacted products
    Vendor Product Version
    dropbox mcp-server-dash Unaffected: 84567b74e3c72e42d5e50ee07c56864613f519c2 (git)
    Affected: 0 , < 84567b74e3c72e42d5e50ee07c56864613f519c2 (git)
    Create a notification for this product.
    Date Public
    2026-08-26 00:00
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-81102",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-08-27T18:24:11.152281Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-08-28T15:59:46.600Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://github.com/dropbox/mcp-server-dash",
              "defaultStatus": "unaffected",
              "product": "mcp-server-dash",
              "repo": "https://github.com/dropbox/mcp-server-dash",
              "vendor": "dropbox",
              "versions": [
                {
                  "status": "unaffected",
                  "version": "84567b74e3c72e42d5e50ee07c56864613f519c2",
                  "versionType": "git"
                },
                {
                  "lessThan": "84567b74e3c72e42d5e50ee07c56864613f519c2",
                  "status": "affected",
                  "version": "0",
                  "versionType": "git"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Avishai Gonen (Pluto Security)"
            }
          ],
          "datePublic": "2026-08-26T00:00:00.000Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "The Dash MCP server bound its listener to the loopback address but never checked the host a request named. src/mcp_server_dash.py constructed the server for its network mode with the interface restricted to loopback and no transport-security settings, so a name that had been pointed at the loopback address still reached the listener while carrying the attacker\u0027s host name. A page in a visitor\u0027s browser could therefore drive the local server and invoke its company-search and file-detail tools under the Dropbox credential the server holds. Only the network mode was reachable this way; the standard input mode was not. The fix supplies transport-security settings that enable host checking and allow only the loopback name and port, rejecting other hosts before a tool runs. The repository publishes no versions, so the affected boundary is the commit preceding the fix."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 2.3,
                "baseSeverity": "LOW",
                "exploitMaturity": "NOT_DEFINED",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "PASSIVE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "LOW",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            },
            {
              "cvssV3_1": {
                "attackComplexity": "HIGH",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 3.1,
                "baseSeverity": "LOW",
                "confidentialityImpact": "LOW",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N",
                "version": "3.1"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-346",
                  "description": "Origin Validation Error",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-08-29T11:48:14.917Z",
            "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
            "shortName": "VulnCheck"
          },
          "references": [
            {
              "tags": [
                "product"
              ],
              "url": "https://github.com/dropbox/mcp-server-dash"
            },
            {
              "tags": [
                "issue-tracking",
                "patch"
              ],
              "url": "https://github.com/dropbox/mcp-server-dash/pull/12"
            },
            {
              "name": "VulnCheck Advisory: Dropbox Dash MCP Server DNS Rebinding via Missing Host Header Validation",
              "tags": [
                "third-party-advisory"
              ],
              "url": "https://www.vulncheck.com/advisories/dropbox-dash-mcp-server-dns-rebinding-via-missing-host-header-validation"
            }
          ],
          "source": {
            "discovery": "UNKNOWN"
          },
          "title": "Dropbox Dash MCP Server DNS Rebinding via Missing Host Header Validation",
          "x_generator": {
            "engine": "vulncheck-endgame"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
        "assignerShortName": "VulnCheck",
        "cveId": "CVE-2026-81102",
        "datePublished": "2026-08-27T14:50:41.263Z",
        "dateReserved": "2026-08-26T16:00:34.461Z",
        "dateUpdated": "2026-08-29T11:48:14.917Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-53425 (GCVE-0-2026-53425)

    Vulnerability from nvd – Published: 2026-08-20 17:26 – Updated: 2026-08-21 19:50
    VLAI
    Title
    Missing InResponseTo validation in Samly allows acceptance of unsolicited SAML responses
    Summary
    Insufficient Verification of Data Authenticity vulnerability in dropbox samly allows an attacker to establish an authenticated session using a SAML response the service provider never requested. Samly.SPHandler.validate_authresp/3 in lib/samly/sp_handler.ex validates a SAML response for the SP-initiated flow by comparing only the RelayState value, the IdP identifier, and the presence of a target URL held in the session. It never compares SubjectConfirmationData/@InResponseTo against the ID of the AuthnRequest the service provider issued, and that request ID is never persisted, so no comparison is possible. SAML 2.0 Core section 4.1.4.3 requires a service provider to reject a response whose InResponseTo does not match a request it made. The underlying esaml library checks status, signature, recipient, audience, and staleness, but likewise never inspects InResponseTo, so nothing else closes the gap. Exploitation requires a validly signed assertion from the trusted IdP, which an attacker can obtain for their own account, and a RelayState matching the victim's session; the assertion signature itself remains intact, so this is not a signature-forgery issue. This issue affects samly: from 0.3.0 onward.
    SSVC
    Exploitation: none Automatable: no Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-08-21 19:50 UTC
    CWE
    • CWE-345 - Insufficient Verification of Data Authenticity
    Assigner
    EEF CNA under the mitre root
    CNA scorecard A 96/100 over 318 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    dropbox samly Affected: 0.3.0 , < * (semver)
        cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox samly Affected: 8a5bb1b4a4753d05470da2036323477f63cfdf4c , < * (git)
        cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*
    Create a notification for this product.
    handnot2 samly Affected: 8a5bb1b4a4753d05470da2036323477f63cfdf4c , < * (git)
        cpe:2.3:a:handnot2:samly:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-53425",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-08-21T19:50:24.245049Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-08-21T19:50:34.320Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Samly.SPHandler\u0027"
              ],
              "packageName": "samly",
              "packageURL": "pkg:hex/samly",
              "product": "samly",
              "programFiles": [
                "lib/samly/sp_handler.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Samly.SPHandler\u0027:consume_signin_response/1"
                }
              ],
              "repo": "https://github.com/dropbox/samly",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "0.3.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Samly.SPHandler\u0027"
              ],
              "packageName": "dropbox/samly",
              "packageURL": "pkg:github/dropbox/samly",
              "product": "samly",
              "programFiles": [
                "lib/samly/sp_handler.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Samly.SPHandler\u0027:consume_signin_response/1"
                }
              ],
              "repo": "https://github.com/dropbox/samly",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "8a5bb1b4a4753d05470da2036323477f63cfdf4c",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:handnot2:samly:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Samly.SPHandler\u0027"
              ],
              "packageName": "handnot2/samly",
              "packageURL": "pkg:github/handnot2/samly",
              "product": "samly",
              "programFiles": [
                "lib/samly/sp_handler.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Samly.SPHandler\u0027:consume_signin_response/1"
                }
              ],
              "repo": "https://github.com/handnot2/samly",
              "vendor": "handnot2",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "8a5bb1b4a4753d05470da2036323477f63cfdf4c",
                  "versionType": "git"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "0.3.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:handnot2:samly:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "0.3.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "Mark Madsen"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eInsufficient Verification of Data Authenticity vulnerability in dropbox samly allows an attacker to establish an authenticated session using a SAML response the service provider never requested.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eSamly.SPHandler.validate_authresp/3\u003c/code\u003e in \u003ccode\u003elib/samly/sp_handler.ex\u003c/code\u003e validates a SAML response for the SP-initiated flow by comparing only the \u003ccode\u003eRelayState\u003c/code\u003e value, the IdP identifier, and the presence of a target URL held in the session. It never compares \u003ccode\u003eSubjectConfirmationData/@InResponseTo\u003c/code\u003e against the ID of the \u003ccode\u003eAuthnRequest\u003c/code\u003e the service provider issued, and that request ID is never persisted, so no comparison is possible. SAML 2.0 Core section 4.1.4.3 requires a service provider to reject a response whose \u003ccode\u003eInResponseTo\u003c/code\u003e does not match a request it made. The underlying \u003ccode\u003eesaml\u003c/code\u003e library checks status, signature, recipient, audience, and staleness, but likewise never inspects \u003ccode\u003eInResponseTo\u003c/code\u003e, so nothing else closes the gap. Exploitation requires a validly signed assertion from the trusted IdP, which an attacker can obtain for their own account, and a \u003ccode\u003eRelayState\u003c/code\u003e matching the victim\u0027s session; the assertion signature itself remains intact, so this is not a signature-forgery issue.\u003c/p\u003e\n\u003cp\u003eThis issue affects samly: from 0.3.0 onward.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Insufficient Verification of Data Authenticity vulnerability in dropbox samly allows an attacker to establish an authenticated session using a SAML response the service provider never requested.\n\n`Samly.SPHandler.validate_authresp/3` in `lib/samly/sp_handler.ex` validates a SAML response for the SP-initiated flow by comparing only the `RelayState` value, the IdP identifier, and the presence of a target URL held in the session. It never compares `SubjectConfirmationData/@InResponseTo` against the ID of the `AuthnRequest` the service provider issued, and that request ID is never persisted, so no comparison is possible. SAML 2.0 Core section 4.1.4.3 requires a service provider to reject a response whose `InResponseTo` does not match a request it made. The underlying `esaml` library checks status, signature, recipient, audience, and staleness, but likewise never inspects `InResponseTo`, so nothing else closes the gap. Exploitation requires a validly signed assertion from the trusted IdP, which an attacker can obtain for their own account, and a `RelayState` matching the victim\u0027s session; the assertion signature itself remains intact, so this is not a signature-forgery issue.\n\nThis issue affects samly: from 0.3.0 onward."
                }
              ],
              "value": "Insufficient Verification of Data Authenticity vulnerability in dropbox samly allows an attacker to establish an authenticated session using a SAML response the service provider never requested.\n\nSamly.SPHandler.validate_authresp/3 in lib/samly/sp_handler.ex validates a SAML response for the SP-initiated flow by comparing only the RelayState value, the IdP identifier, and the presence of a target URL held in the session. It never compares SubjectConfirmationData/@InResponseTo against the ID of the AuthnRequest the service provider issued, and that request ID is never persisted, so no comparison is possible. SAML 2.0 Core section 4.1.4.3 requires a service provider to reject a response whose InResponseTo does not match a request it made. The underlying esaml library checks status, signature, recipient, audience, and staleness, but likewise never inspects InResponseTo, so nothing else closes the gap. Exploitation requires a validly signed assertion from the trusted IdP, which an attacker can obtain for their own account, and a RelayState matching the victim\u0027s session; the assertion signature itself remains intact, so this is not a signature-forgery issue.\n\nThis issue affects samly: from 0.3.0 onward."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-62",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-62 Cross Site Request Forgery"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 7.6,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "PASSIVE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-345",
                  "description": "CWE-345 Insufficient Verification of Data Authenticity",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-08-20T18:38:13.727Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "tags": [
                "related",
                "third-party-advisory"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-53425.html"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-53425"
            }
          ],
          "source": {
            "discovery": "UNKNOWN"
          },
          "title": "Missing InResponseTo validation in Samly allows acceptance of unsolicited SAML responses"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-53425",
        "datePublished": "2026-08-20T17:26:35.537Z",
        "dateReserved": "2026-06-09T11:01:47.529Z",
        "dateUpdated": "2026-08-21T19:50:34.320Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-53424 (GCVE-0-2026-53424)

    Vulnerability from nvd – Published: 2026-08-20 17:27 – Updated: 2026-08-21 19:42
    VLAI
    Title
    Missing one-time-use enforcement in Samly allows replay of SAML bearer assertions
    Summary
    Authentication Bypass by Capture-replay vulnerability in dropbox samly allows an attacker to authenticate as the subject of a captured SAML assertion by resubmitting it. Samly.Helper.decode_idp_auth_resp/3 in lib/samly/helper.ex calls esaml_sp:validate_assertion/2, whose default duplicate detector is a no-op. The /3 arity accepting a DuplicateFun exists in esaml and implements the check, but Samly never calls it and offers no configuration to supply one, so the SAML 2.0 Web Browser SSO Profile requirement that a bearer assertion be used once is unenforced. An attacker holding a valid SAMLResponse obtained from the network, from browser history, or from logs can submit the identical bytes repeatedly until the assertion's NotOnOrAfter passes, each time establishing a session as the assertion's subject. This issue affects samly: from 0.3.0 onward.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-08-21 19:41 UTC
    CWE
    • CWE-294 - Authentication Bypass by Capture-replay
    Assigner
    EEF CNA under the mitre root
    CNA scorecard A 96/100 over 318 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    dropbox samly Affected: 0.3.0 , < * (semver)
        cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox samly Affected: 8a5bb1b4a4753d05470da2036323477f63cfdf4c , < * (git)
        cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*
    Create a notification for this product.
    handnot2 samly Affected: 8a5bb1b4a4753d05470da2036323477f63cfdf4c , < * (git)
        cpe:2.3:a:handnot2:samly:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-53424",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-08-21T19:41:30.269903Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-08-21T19:42:21.623Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Samly.Helper\u0027"
              ],
              "packageName": "samly",
              "packageURL": "pkg:hex/samly",
              "product": "samly",
              "programFiles": [
                "lib/samly/helper.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Samly.Helper\u0027:decode_idp_auth_resp/3"
                }
              ],
              "repo": "https://github.com/dropbox/samly",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "0.3.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Samly.Helper\u0027"
              ],
              "packageName": "dropbox/samly",
              "packageURL": "pkg:github/dropbox/samly",
              "product": "samly",
              "programFiles": [
                "lib/samly/helper.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Samly.Helper\u0027:decode_idp_auth_resp/3"
                }
              ],
              "repo": "https://github.com/dropbox/samly",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "8a5bb1b4a4753d05470da2036323477f63cfdf4c",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:handnot2:samly:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Samly.Helper\u0027"
              ],
              "packageName": "handnot2/samly",
              "packageURL": "pkg:github/handnot2/samly",
              "product": "samly",
              "programFiles": [
                "lib/samly/helper.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Samly.Helper\u0027:decode_idp_auth_resp/3"
                }
              ],
              "repo": "https://github.com/handnot2/samly",
              "vendor": "handnot2",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "8a5bb1b4a4753d05470da2036323477f63cfdf4c",
                  "versionType": "git"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "0.3.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:handnot2:samly:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "0.3.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "Mark Madsen"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eAuthentication Bypass by Capture-replay vulnerability in dropbox samly allows an attacker to authenticate as the subject of a captured SAML assertion by resubmitting it.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eSamly.Helper.decode_idp_auth_resp/3\u003c/code\u003e in \u003ccode\u003elib/samly/helper.ex\u003c/code\u003e calls \u003ccode\u003eesaml_sp:validate_assertion/2\u003c/code\u003e, whose default duplicate detector is a no-op. The \u003ccode\u003e/3\u003c/code\u003e arity accepting a \u003ccode\u003eDuplicateFun\u003c/code\u003e exists in \u003ccode\u003eesaml\u003c/code\u003e and implements the check, but Samly never calls it and offers no configuration to supply one, so the SAML 2.0 Web Browser SSO Profile requirement that a bearer assertion be used once is unenforced. An attacker holding a valid \u003ccode\u003eSAMLResponse\u003c/code\u003e obtained from the network, from browser history, or from logs can submit the identical bytes repeatedly until the assertion\u0027s \u003ccode\u003eNotOnOrAfter\u003c/code\u003e passes, each time establishing a session as the assertion\u0027s subject.\u003c/p\u003e\n\u003cp\u003eThis issue affects samly: from 0.3.0 onward.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Authentication Bypass by Capture-replay vulnerability in dropbox samly allows an attacker to authenticate as the subject of a captured SAML assertion by resubmitting it.\n\n`Samly.Helper.decode_idp_auth_resp/3` in `lib/samly/helper.ex` calls `esaml_sp:validate_assertion/2`, whose default duplicate detector is a no-op. The `/3` arity accepting a `DuplicateFun` exists in `esaml` and implements the check, but Samly never calls it and offers no configuration to supply one, so the SAML 2.0 Web Browser SSO Profile requirement that a bearer assertion be used once is unenforced. An attacker holding a valid `SAMLResponse` obtained from the network, from browser history, or from logs can submit the identical bytes repeatedly until the assertion\u0027s `NotOnOrAfter` passes, each time establishing a session as the assertion\u0027s subject.\n\nThis issue affects samly: from 0.3.0 onward."
                }
              ],
              "value": "Authentication Bypass by Capture-replay vulnerability in dropbox samly allows an attacker to authenticate as the subject of a captured SAML assertion by resubmitting it.\n\nSamly.Helper.decode_idp_auth_resp/3 in lib/samly/helper.ex calls esaml_sp:validate_assertion/2, whose default duplicate detector is a no-op. The /3 arity accepting a DuplicateFun exists in esaml and implements the check, but Samly never calls it and offers no configuration to supply one, so the SAML 2.0 Web Browser SSO Profile requirement that a bearer assertion be used once is unenforced. An attacker holding a valid SAMLResponse obtained from the network, from browser history, or from logs can submit the identical bytes repeatedly until the assertion\u0027s NotOnOrAfter passes, each time establishing a session as the assertion\u0027s subject.\n\nThis issue affects samly: from 0.3.0 onward."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-60",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-60 Reusing Session IDs (aka Session Replay)"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 9.1,
                "baseSeverity": "CRITICAL",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-294",
                  "description": "CWE-294 Authentication Bypass by Capture-replay",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-08-20T18:37:24.439Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "tags": [
                "related",
                "third-party-advisory"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-53424.html"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-53424"
            }
          ],
          "source": {
            "discovery": "UNKNOWN"
          },
          "title": "Missing one-time-use enforcement in Samly allows replay of SAML bearer assertions"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-53424",
        "datePublished": "2026-08-20T17:27:11.115Z",
        "dateReserved": "2026-06-09T11:01:47.529Z",
        "dateUpdated": "2026-08-21T19:42:21.623Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-28809 (GCVE-0-2026-28809)

    Vulnerability from nvd – Published: 2026-03-23 10:09 – Updated: 2026-07-24 14:14
    VLAI
    Title
    XXE in esaml SAML library allows local file read and potential SSRF
    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.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-03-23 15:07 UTC
    CWE
    • CWE-611 - Improper Restriction of XML External Entity Reference
    Assigner
    EEF CNA under the mitre root
    CNA scorecard A 96/100 over 318 records in the last 180 days details
    Impacted products
    Vendor Product Version
    dropbox esaml     cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
        cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*
        cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    arekinath esaml     cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    handnot2 esaml     cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox esaml     cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Jump-App esaml Affected: deeb84378d5c82153b470e99d24f77c38afca14a , < bab85efde7c136911402a881ca55173759467a26 (git)
    Unaffected: bab85efde7c136911402a881ca55173759467a26 (git)
        cpe:2.3:a:jump-app:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-28809",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-03-23T15:07:17.488260Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-03-23T15:52:46.187Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*",
                "cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*",
                "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "affected",
              "packageName": "esaml",
              "packageURL": "pkg:hex/esaml",
              "product": "esaml",
              "vendor": "dropbox"
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "affected",
              "packageName": "arekinath/esaml",
              "packageURL": "pkg:github/arekinath/esaml",
              "product": "esaml",
              "repo": "https://github.com/arekinath/esaml.git",
              "vendor": "arekinath"
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "affected",
              "packageName": "handnot2/esaml",
              "packageURL": "pkg:github/handnot2/esaml",
              "product": "esaml",
              "repo": "https://github.com/handnot2/esaml.git",
              "vendor": "handnot2"
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "affected",
              "packageName": "dropbox/esaml",
              "packageURL": "pkg:github/dropbox/esaml",
              "product": "esaml",
              "repo": "https://github.com/dropbox/esaml.git",
              "vendor": "dropbox"
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:jump-app:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "affected",
              "packageName": "Jump-App/esaml",
              "packageURL": "pkg:github/Jump-App/esaml",
              "product": "esaml",
              "repo": "https://github.com/Jump-App/esaml.git",
              "vendor": "Jump-App",
              "versions": [
                {
                  "lessThan": "bab85efde7c136911402a881ca55173759467a26",
                  "status": "affected",
                  "version": "deeb84378d5c82153b470e99d24f77c38afca14a",
                  "versionType": "git"
                },
                {
                  "status": "unaffected",
                  "version": "bab85efde7c136911402a881ca55173759467a26",
                  "versionType": "git"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "The application must use esaml to process SAML messages and run on Erlang/OTP versions before 27. Starting with OTP 27, \u003ctt\u003exmerl_scan\u003c/tt\u003e disables entity expansion by default, which mitigates this vulnerability."
                }
              ],
              "value": "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."
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:jump-app:esaml:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "bab85efde7c136911402a881ca55173759467a26",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Bryan Lynch"
            },
            {
              "lang": "en",
              "type": "analyst",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "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.\u003cp\u003eesaml parses attacker-controlled SAML messages using \u003ctt\u003exmerl_scan:string/2\u003c/tt\u003e 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.\u003c/p\u003e\u003cp\u003eThis issue affects all versions of esaml, including forks by arekinath, handnot2, and dropbox. Users running on Erlang/OTP\u0026nbsp;27 or later are not affected due to Xmerl defaulting to entities disabled.\u003c/p\u003e"
                }
              ],
              "value": "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.\n\nesaml 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.\n\nThis issue affects all versions of esaml, including forks by arekinath, handnot2, and dropbox. Users running on Erlang/OTP\u00a027 or later are not affected due to Xmerl defaulting to entities disabled."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-201",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-201 Serialized Data External Linking"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 6.3,
                "baseSeverity": "MEDIUM",
                "exploitMaturity": "NOT_DEFINED",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "LOW",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-611",
                  "description": "CWE-611 Improper Restriction of XML External Entity Reference",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-24T14:14:51.289Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "tags": [
                "third-party-advisory",
                "related"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-28809.html"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-28809"
            },
            {
              "tags": [
                "patch"
              ],
              "url": "https://github.com/Jump-App/esaml/commit/bab85efde7c136911402a881ca55173759467a26"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "XXE in esaml SAML library allows local file read and potential SSRF",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "Upgrade to Erlang/OTP 27 or later. Starting with OTP 27, \u003ctt\u003exmerl_scan\u003c/tt\u003e disables entity expansion by default, which mitigates this vulnerability without changes to esaml."
                }
              ],
              "value": "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."
            }
          ],
          "x_generator": {
            "engine": "Vulnogram 1.0.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-28809",
        "datePublished": "2026-03-23T10:09:29.233Z",
        "dateReserved": "2026-03-03T14:40:00.590Z",
        "dateUpdated": "2026-07-24T14:14:51.289Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2024-5924 (GCVE-0-2024-5924)

    Vulnerability from nvd – Published: 2024-06-13 19:40 – Updated: 2024-08-01 21:25
    VLAI
    Title
    Dropbox Desktop Folder Sharing Mark-of-the-Web Bypass Vulnerability
    Summary
    Dropbox Desktop Folder Sharing Mark-of-the-Web Bypass Vulnerability. This vulnerability allows remote attackers to bypass the Mark-of-the-Web protection mechanism on affected installations of Dropbox Desktop. User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file. The specific flaw exists within the handling of shared folders. When syncing files from a shared folder belonging to an untrusted account, the Dropbox desktop application does not apply the Mark-of-the-Web to the local files. An attacker can leverage this vulnerability to execute arbitrary code in the context of the current user. Was ZDI-CAN-23991.
    SSVC
    Exploitation: none Automatable: no Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2024-07-24 00:00 UTC
    CWE
    • CWE-693 - Protection Mechanism Failure
    Assigner
    zdi CNA under the mitre root
    CNA scorecard C 73/100 over 121 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    Dropbox Dropbox Desktop Affected: 198.4.7615
    Create a notification for this product.
    dropbox dropbox Affected: 198.4.7615
        cpe:2.3:a:dropbox:dropbox:198.4.7615:*:*:*:*:*:*:*
    Create a notification for this product.
    Date Public
    2024-06-13 19:39
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "affected": [
              {
                "cpes": [
                  "cpe:2.3:a:dropbox:dropbox:198.4.7615:*:*:*:*:*:*:*"
                ],
                "defaultStatus": "unknown",
                "product": "dropbox",
                "vendor": "dropbox",
                "versions": [
                  {
                    "status": "affected",
                    "version": "198.4.7615"
                  }
                ]
              }
            ],
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2024-5924",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2024-07-24T00:00:00+00:00",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2024-07-25T03:55:24.677Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          },
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-01T21:25:03.164Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "name": "ZDI-24-677",
                "tags": [
                  "x_research-advisory",
                  "x_transferred"
                ],
                "url": "https://www.zerodayinitiative.com/advisories/ZDI-24-677/"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unknown",
              "product": "Dropbox Desktop",
              "vendor": "Dropbox",
              "versions": [
                {
                  "status": "affected",
                  "version": "198.4.7615"
                }
              ]
            }
          ],
          "dateAssigned": "2024-06-12T19:05:13.665Z",
          "datePublic": "2024-06-13T19:39:24.542Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "Dropbox Desktop Folder Sharing Mark-of-the-Web Bypass Vulnerability. This vulnerability allows remote attackers to bypass the Mark-of-the-Web protection mechanism on affected installations of Dropbox Desktop. User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file.\n\nThe specific flaw exists within the handling of shared folders. When syncing files from a shared folder belonging to an untrusted account, the Dropbox desktop application does not apply the Mark-of-the-Web to the local files. An attacker can leverage this vulnerability to execute arbitrary code in the context of the current user. Was ZDI-CAN-23991."
            }
          ],
          "metrics": [
            {
              "cvssV3_0": {
                "baseScore": 8.8,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
                "version": "3.0"
              },
              "format": "CVSS"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-693",
                  "description": "CWE-693: Protection Mechanism Failure",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2024-06-13T19:40:13.179Z",
            "orgId": "99f1926a-a320-47d8-bbb5-42feb611262e",
            "shortName": "zdi"
          },
          "references": [
            {
              "name": "ZDI-24-677",
              "tags": [
                "x_research-advisory"
              ],
              "url": "https://www.zerodayinitiative.com/advisories/ZDI-24-677/"
            }
          ],
          "source": {
            "lang": "en",
            "value": "Peter Girnus (@gothburz)"
          },
          "title": "Dropbox Desktop Folder Sharing Mark-of-the-Web Bypass Vulnerability"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "99f1926a-a320-47d8-bbb5-42feb611262e",
        "assignerShortName": "zdi",
        "cveId": "CVE-2024-5924",
        "datePublished": "2024-06-13T19:40:13.179Z",
        "dateReserved": "2024-06-12T19:05:13.638Z",
        "dateUpdated": "2024-08-01T21:25:03.164Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }

    CVE-2024-25718 (GCVE-0-2024-25718)

    Vulnerability from nvd – Published: 2024-02-11 00:00 – Updated: 2025-04-24 15:45
    VLAI
    Summary
    In the Samly package before 1.4.0 for Elixir, Samly.State.Store.get_assertion/3 can return an expired session, which interferes with access control because Samly.AuthHandler uses a cached session and does not replace it, even after expiry.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2024-08-01 18:06 UTC
    CWE
    • n/a
    • CWE-400 - Uncontrolled Resource Consumption
    Assigner
    mitre CNA under the mitre root
    CNA scorecard E 29/100 over 2368 records in the last 180 days details
    Impacted products
    Vendor Product Version
    samly elixr Affected: 0 , < 1.4.0 (custom)
        cpe:2.3:a:samly:elixr:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "affected": [
              {
                "cpes": [
                  "cpe:2.3:a:samly:elixr:*:*:*:*:*:*:*:*"
                ],
                "defaultStatus": "unknown",
                "product": "elixr",
                "vendor": "samly",
                "versions": [
                  {
                    "lessThan": "1.4.0",
                    "status": "affected",
                    "version": "0",
                    "versionType": "custom"
                  }
                ]
              }
            ],
            "metrics": [
              {
                "cvssV3_1": {
                  "attackComplexity": "LOW",
                  "attackVector": "NETWORK",
                  "availabilityImpact": "NONE",
                  "baseScore": 9.1,
                  "baseSeverity": "CRITICAL",
                  "confidentialityImpact": "HIGH",
                  "integrityImpact": "HIGH",
                  "privilegesRequired": "NONE",
                  "scope": "UNCHANGED",
                  "userInteraction": "NONE",
                  "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
                  "version": "3.1"
                }
              },
              {
                "other": {
                  "content": {
                    "id": "CVE-2024-25718",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2024-08-01T18:06:21.342589Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "problemTypes": [
              {
                "descriptions": [
                  {
                    "cweId": "CWE-400",
                    "description": "CWE-400 Uncontrolled Resource Consumption",
                    "lang": "en",
                    "type": "CWE"
                  }
                ]
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2025-04-24T15:45:22.426Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          },
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-01T23:52:05.515Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://hex.pm/packages/samly"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://github.com/handnot2/samly"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/samly"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://diff.hex.pm/diff/samly/1.3.0..1.4.0"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/samly/pull/13"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/samly/pull/13/commits/812b5c3ad076dc9c9334c1a560c8e6470607d1eb"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "n/a",
              "vendor": "n/a",
              "versions": [
                {
                  "status": "affected",
                  "version": "n/a"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Samly package before 1.4.0 for Elixir, Samly.State.Store.get_assertion/3 can return an expired session, which interferes with access control because Samly.AuthHandler uses a cached session and does not replace it, even after expiry."
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "description": "n/a",
                  "lang": "en",
                  "type": "text"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2024-02-11T04:21:13.844Z",
            "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
            "shortName": "mitre"
          },
          "references": [
            {
              "url": "https://hex.pm/packages/samly"
            },
            {
              "url": "https://github.com/handnot2/samly"
            },
            {
              "url": "https://github.com/dropbox/samly"
            },
            {
              "url": "https://diff.hex.pm/diff/samly/1.3.0..1.4.0"
            },
            {
              "url": "https://github.com/dropbox/samly/pull/13"
            },
            {
              "url": "https://github.com/dropbox/samly/pull/13/commits/812b5c3ad076dc9c9334c1a560c8e6470607d1eb"
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
        "assignerShortName": "mitre",
        "cveId": "CVE-2024-25718",
        "datePublished": "2024-02-11T00:00:00.000Z",
        "dateReserved": "2024-02-11T00:00:00.000Z",
        "dateUpdated": "2025-04-24T15:45:22.426Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }

    CVE-2022-4768 (GCVE-0-2022-4768)

    Vulnerability from nvd – Published: 2022-12-27 22:33 – Updated: 2024-08-03 01:48
    VLAI
    Title
    Dropbox merou SSH Public Key public_key.py add_public_key injection
    Summary
    A vulnerability was found in Dropbox merou. It has been classified as critical. Affected is the function add_public_key of the file grouper/public_key.py of the component SSH Public Key Handler. The manipulation of the argument public_key_str leads to injection. It is possible to launch the attack remotely. The name of the patch is d93087973afa26bc0a2d0a5eb5c0fde748bdd107. It is recommended to apply a patch to fix this issue. VDB-216906 is the identifier assigned to this vulnerability.
    CWE
    Assigner
    VulDB CNA under the mitre root
    CNA scorecard B 82/100 over 3939 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    Dropbox merou Affected: n/a
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-03T01:48:40.389Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "vdb-entry",
                  "technical-description",
                  "x_transferred"
                ],
                "url": "https://vuldb.com/?id.216906"
              },
              {
                "tags": [
                  "signature",
                  "permissions-required",
                  "x_transferred"
                ],
                "url": "https://vuldb.com/?ctiid.216906"
              },
              {
                "tags": [
                  "issue-tracking",
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/merou/pull/673"
              },
              {
                "tags": [
                  "patch",
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/merou/commit/d93087973afa26bc0a2d0a5eb5c0fde748bdd107"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "modules": [
                "SSH Public Key Handler"
              ],
              "product": "merou",
              "vendor": "Dropbox",
              "versions": [
                {
                  "status": "affected",
                  "version": "n/a"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "A vulnerability was found in Dropbox merou. It has been classified as critical. Affected is the function add_public_key of the file grouper/public_key.py of the component SSH Public Key Handler. The manipulation of the argument public_key_str leads to injection. It is possible to launch the attack remotely. The name of the patch is d93087973afa26bc0a2d0a5eb5c0fde748bdd107. It is recommended to apply a patch to fix this issue. VDB-216906 is the identifier assigned to this vulnerability."
            },
            {
              "lang": "de",
              "value": "Es wurde eine kritische Schwachstelle in Dropbox merou ausgemacht. Hiervon betroffen ist die Funktion add_public_key der Datei grouper/public_key.py der Komponente SSH Public Key Handler. Durch Manipulieren des Arguments public_key_str mit unbekannten Daten kann eine injection-Schwachstelle ausgenutzt werden. Der Angriff kann \u00fcber das Netzwerk angegangen werden. Der Patch wird als d93087973afa26bc0a2d0a5eb5c0fde748bdd107 bezeichnet. Als bestm\u00f6gliche Massnahme wird Patching empfohlen."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 6.3,
                "baseSeverity": "MEDIUM",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L",
                "version": "3.1"
              }
            },
            {
              "cvssV3_0": {
                "baseScore": 6.3,
                "baseSeverity": "MEDIUM",
                "vectorString": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L",
                "version": "3.0"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-74",
                  "description": "CWE-74 Injection",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2022-12-27T22:33:35.180Z",
            "orgId": "1af790b2-7ee1-4545-860a-a788eba489b5",
            "shortName": "VulDB"
          },
          "references": [
            {
              "tags": [
                "vdb-entry",
                "technical-description"
              ],
              "url": "https://vuldb.com/?id.216906"
            },
            {
              "tags": [
                "signature",
                "permissions-required"
              ],
              "url": "https://vuldb.com/?ctiid.216906"
            },
            {
              "tags": [
                "issue-tracking"
              ],
              "url": "https://github.com/dropbox/merou/pull/673"
            },
            {
              "tags": [
                "patch"
              ],
              "url": "https://github.com/dropbox/merou/commit/d93087973afa26bc0a2d0a5eb5c0fde748bdd107"
            }
          ],
          "timeline": [
            {
              "lang": "en",
              "time": "2022-12-27T00:00:00.000Z",
              "value": "Advisory disclosed"
            },
            {
              "lang": "en",
              "time": "2022-12-27T01:00:00.000Z",
              "value": "VulDB entry created"
            },
            {
              "lang": "en",
              "time": "2022-12-27T23:38:30.000Z",
              "value": "VulDB last update"
            }
          ],
          "title": "Dropbox merou SSH Public Key public_key.py add_public_key injection"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "1af790b2-7ee1-4545-860a-a788eba489b5",
        "assignerShortName": "VulDB",
        "cveId": "CVE-2022-4768",
        "datePublished": "2022-12-27T22:33:35.180Z",
        "dateReserved": "2022-12-27T22:32:12.688Z",
        "dateUpdated": "2024-08-03T01:48:40.389Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }

    CVE-2022-26181 (GCVE-0-2022-26181)

    Vulnerability from nvd – Published: 2022-02-28 18:33 – Updated: 2024-08-03 04:56
    VLAI
    Summary
    Dropbox Lepton v1.2.1-185-g2a08b77 was discovered to contain a heap-buffer-overflow in the function aligned_dealloc():src/lepton/bitops.cc:108.
    Severity
    No CVSS data available.
    CWE
    • n/a
    Assigner
    mitre CNA under the mitre root
    CNA scorecard E 29/100 over 2368 records in the last 180 days details
    References
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-03T04:56:37.908Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/lepton/issues/154"
              },
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/lepton"
              },
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://drive.google.com/file/d/1bJlHozO37c5NZ1wI0NBWh0yHHyTcfaQL/view?usp=sharing"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "n/a",
              "vendor": "n/a",
              "versions": [
                {
                  "status": "affected",
                  "version": "n/a"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Dropbox Lepton v1.2.1-185-g2a08b77 was discovered to contain a heap-buffer-overflow in the function aligned_dealloc():src/lepton/bitops.cc:108."
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "description": "n/a",
                  "lang": "en",
                  "type": "text"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2022-02-28T18:33:50.000Z",
            "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
            "shortName": "mitre"
          },
          "references": [
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/dropbox/lepton/issues/154"
            },
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/dropbox/lepton"
            },
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://drive.google.com/file/d/1bJlHozO37c5NZ1wI0NBWh0yHHyTcfaQL/view?usp=sharing"
            }
          ],
          "x_legacyV4Record": {
            "CVE_data_meta": {
              "ASSIGNER": "cve@mitre.org",
              "ID": "CVE-2022-26181",
              "STATE": "PUBLIC"
            },
            "affects": {
              "vendor": {
                "vendor_data": [
                  {
                    "product": {
                      "product_data": [
                        {
                          "product_name": "n/a",
                          "version": {
                            "version_data": [
                              {
                                "version_value": "n/a"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "vendor_name": "n/a"
                  }
                ]
              }
            },
            "data_format": "MITRE",
            "data_type": "CVE",
            "data_version": "4.0",
            "description": {
              "description_data": [
                {
                  "lang": "eng",
                  "value": "Dropbox Lepton v1.2.1-185-g2a08b77 was discovered to contain a heap-buffer-overflow in the function aligned_dealloc():src/lepton/bitops.cc:108."
                }
              ]
            },
            "problemtype": {
              "problemtype_data": [
                {
                  "description": [
                    {
                      "lang": "eng",
                      "value": "n/a"
                    }
                  ]
                }
              ]
            },
            "references": {
              "reference_data": [
                {
                  "name": "https://github.com/dropbox/lepton/issues/154",
                  "refsource": "MISC",
                  "url": "https://github.com/dropbox/lepton/issues/154"
                },
                {
                  "name": "https://github.com/dropbox/lepton",
                  "refsource": "MISC",
                  "url": "https://github.com/dropbox/lepton"
                },
                {
                  "name": "https://drive.google.com/file/d/1bJlHozO37c5NZ1wI0NBWh0yHHyTcfaQL/view?usp=sharing",
                  "refsource": "MISC",
                  "url": "https://drive.google.com/file/d/1bJlHozO37c5NZ1wI0NBWh0yHHyTcfaQL/view?usp=sharing"
                }
              ]
            }
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
        "assignerShortName": "mitre",
        "cveId": "CVE-2022-26181",
        "datePublished": "2022-02-28T18:33:50.000Z",
        "dateReserved": "2022-02-28T00:00:00.000Z",
        "dateUpdated": "2024-08-03T04:56:37.908Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }

    CVE-2019-12171 (GCVE-0-2019-12171)

    Vulnerability from nvd – Published: 2019-07-08 12:44 – Updated: 2024-08-04 23:10
    VLAI
    Summary
    Dropbox.exe (and QtWebEngineProcess.exe in the Web Helper) in the Dropbox desktop application 71.4.108.0 store cleartext credentials in memory upon successful login or new account creation. These are not securely freed in the running process.
    Severity
    No CVSS data available.
    CWE
    • n/a
    Assigner
    mitre CNA under the mitre root
    CNA scorecard E 29/100 over 2368 records in the last 180 days details
    References
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-04T23:10:30.839Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://drive.google.com/open?id=1msz6pb08crPC0VT7s_Z_KTsKm9CbLJEXNsmRwzoNLy8"
              },
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://drive.google.com/open?id=1DCGurwRTu0HsUpTglVR0jgItZNqqDm_5"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "n/a",
              "vendor": "n/a",
              "versions": [
                {
                  "status": "affected",
                  "version": "n/a"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Dropbox.exe (and QtWebEngineProcess.exe in the Web Helper) in the Dropbox desktop application 71.4.108.0 store cleartext credentials in memory upon successful login or new account creation. These are not securely freed in the running process."
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "description": "n/a",
                  "lang": "en",
                  "type": "text"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2019-07-08T12:44:11.000Z",
            "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
            "shortName": "mitre"
          },
          "references": [
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://drive.google.com/open?id=1msz6pb08crPC0VT7s_Z_KTsKm9CbLJEXNsmRwzoNLy8"
            },
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://drive.google.com/open?id=1DCGurwRTu0HsUpTglVR0jgItZNqqDm_5"
            }
          ],
          "x_legacyV4Record": {
            "CVE_data_meta": {
              "ASSIGNER": "cve@mitre.org",
              "ID": "CVE-2019-12171",
              "STATE": "PUBLIC"
            },
            "affects": {
              "vendor": {
                "vendor_data": [
                  {
                    "product": {
                      "product_data": [
                        {
                          "product_name": "n/a",
                          "version": {
                            "version_data": [
                              {
                                "version_value": "n/a"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "vendor_name": "n/a"
                  }
                ]
              }
            },
            "data_format": "MITRE",
            "data_type": "CVE",
            "data_version": "4.0",
            "description": {
              "description_data": [
                {
                  "lang": "eng",
                  "value": "Dropbox.exe (and QtWebEngineProcess.exe in the Web Helper) in the Dropbox desktop application 71.4.108.0 store cleartext credentials in memory upon successful login or new account creation. These are not securely freed in the running process."
                }
              ]
            },
            "problemtype": {
              "problemtype_data": [
                {
                  "description": [
                    {
                      "lang": "eng",
                      "value": "n/a"
                    }
                  ]
                }
              ]
            },
            "references": {
              "reference_data": [
                {
                  "name": "https://drive.google.com/open?id=1msz6pb08crPC0VT7s_Z_KTsKm9CbLJEXNsmRwzoNLy8",
                  "refsource": "MISC",
                  "url": "https://drive.google.com/open?id=1msz6pb08crPC0VT7s_Z_KTsKm9CbLJEXNsmRwzoNLy8"
                },
                {
                  "name": "https://drive.google.com/open?id=1DCGurwRTu0HsUpTglVR0jgItZNqqDm_5",
                  "refsource": "MISC",
                  "url": "https://drive.google.com/open?id=1DCGurwRTu0HsUpTglVR0jgItZNqqDm_5"
                }
              ]
            }
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
        "assignerShortName": "mitre",
        "cveId": "CVE-2019-12171",
        "datePublished": "2019-07-08T12:44:11.000Z",
        "dateReserved": "2019-05-17T00:00:00.000Z",
        "dateUpdated": "2024-08-04T23:10:30.839Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }

    CVE-2018-20820 (GCVE-0-2018-20820)

    Vulnerability from nvd – Published: 2019-04-23 13:53 – Updated: 2024-08-05 12:12
    VLAI
    Summary
    read_ujpg in jpgcoder.cc in Dropbox Lepton 1.2.1 allows attackers to cause a denial-of-service (application runtime crash because of an integer overflow) via a crafted file.
    Severity
    No CVSS data available.
    CWE
    • n/a
    Assigner
    mitre CNA under the mitre root
    CNA scorecard E 29/100 over 2368 records in the last 180 days details
    References
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-05T12:12:27.362Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/lepton/issues/111"
              },
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/lepton/commit/6a5ceefac1162783fffd9506a3de39c85c725761"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "n/a",
              "vendor": "n/a",
              "versions": [
                {
                  "status": "affected",
                  "version": "n/a"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "read_ujpg in jpgcoder.cc in Dropbox Lepton 1.2.1 allows attackers to cause a denial-of-service (application runtime crash because of an integer overflow) via a crafted file."
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "description": "n/a",
                  "lang": "en",
                  "type": "text"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2019-04-23T13:53:49.000Z",
            "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
            "shortName": "mitre"
          },
          "references": [
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/dropbox/lepton/issues/111"
            },
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/dropbox/lepton/commit/6a5ceefac1162783fffd9506a3de39c85c725761"
            }
          ],
          "x_legacyV4Record": {
            "CVE_data_meta": {
              "ASSIGNER": "cve@mitre.org",
              "ID": "CVE-2018-20820",
              "STATE": "PUBLIC"
            },
            "affects": {
              "vendor": {
                "vendor_data": [
                  {
                    "product": {
                      "product_data": [
                        {
                          "product_name": "n/a",
                          "version": {
                            "version_data": [
                              {
                                "version_value": "n/a"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "vendor_name": "n/a"
                  }
                ]
              }
            },
            "data_format": "MITRE",
            "data_type": "CVE",
            "data_version": "4.0",
            "description": {
              "description_data": [
                {
                  "lang": "eng",
                  "value": "read_ujpg in jpgcoder.cc in Dropbox Lepton 1.2.1 allows attackers to cause a denial-of-service (application runtime crash because of an integer overflow) via a crafted file."
                }
              ]
            },
            "problemtype": {
              "problemtype_data": [
                {
                  "description": [
                    {
                      "lang": "eng",
                      "value": "n/a"
                    }
                  ]
                }
              ]
            },
            "references": {
              "reference_data": [
                {
                  "name": "https://github.com/dropbox/lepton/issues/111",
                  "refsource": "MISC",
                  "url": "https://github.com/dropbox/lepton/issues/111"
                },
                {
                  "name": "https://github.com/dropbox/lepton/commit/6a5ceefac1162783fffd9506a3de39c85c725761",
                  "refsource": "MISC",
                  "url": "https://github.com/dropbox/lepton/commit/6a5ceefac1162783fffd9506a3de39c85c725761"
                }
              ]
            }
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
        "assignerShortName": "mitre",
        "cveId": "CVE-2018-20820",
        "datePublished": "2019-04-23T13:53:49.000Z",
        "dateReserved": "2019-04-23T00:00:00.000Z",
        "dateUpdated": "2024-08-05T12:12:27.362Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }

    CVE-2018-20819 (GCVE-0-2018-20819)

    Vulnerability from nvd – Published: 2019-04-23 13:53 – Updated: 2024-08-05 12:12
    VLAI
    Summary
    io/ZlibCompression.cc in the decompression component in Dropbox Lepton 1.2.1 allows attackers to cause a denial of service (heap-based buffer overflow and application crash) or possibly have unspecified other impact by crafting a jpg image file. The root cause is a missing check of header payloads that may be (incorrectly) larger than the maximum file size.
    Severity
    No CVSS data available.
    CWE
    • n/a
    Assigner
    mitre CNA under the mitre root
    CNA scorecard E 29/100 over 2368 records in the last 180 days details
    References
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-05T12:12:27.304Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/lepton/issues/112"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "n/a",
              "vendor": "n/a",
              "versions": [
                {
                  "status": "affected",
                  "version": "n/a"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "io/ZlibCompression.cc in the decompression component in Dropbox Lepton 1.2.1 allows attackers to cause a denial of service (heap-based buffer overflow and application crash) or possibly have unspecified other impact by crafting a jpg image file. The root cause is a missing check of header payloads that may be (incorrectly) larger than the maximum file size."
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "description": "n/a",
                  "lang": "en",
                  "type": "text"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2019-04-23T13:53:36.000Z",
            "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
            "shortName": "mitre"
          },
          "references": [
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/dropbox/lepton/issues/112"
            }
          ],
          "x_legacyV4Record": {
            "CVE_data_meta": {
              "ASSIGNER": "cve@mitre.org",
              "ID": "CVE-2018-20819",
              "STATE": "PUBLIC"
            },
            "affects": {
              "vendor": {
                "vendor_data": [
                  {
                    "product": {
                      "product_data": [
                        {
                          "product_name": "n/a",
                          "version": {
                            "version_data": [
                              {
                                "version_value": "n/a"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "vendor_name": "n/a"
                  }
                ]
              }
            },
            "data_format": "MITRE",
            "data_type": "CVE",
            "data_version": "4.0",
            "description": {
              "description_data": [
                {
                  "lang": "eng",
                  "value": "io/ZlibCompression.cc in the decompression component in Dropbox Lepton 1.2.1 allows attackers to cause a denial of service (heap-based buffer overflow and application crash) or possibly have unspecified other impact by crafting a jpg image file. The root cause is a missing check of header payloads that may be (incorrectly) larger than the maximum file size."
                }
              ]
            },
            "problemtype": {
              "problemtype_data": [
                {
                  "description": [
                    {
                      "lang": "eng",
                      "value": "n/a"
                    }
                  ]
                }
              ]
            },
            "references": {
              "reference_data": [
                {
                  "name": "https://github.com/dropbox/lepton/issues/112",
                  "refsource": "MISC",
                  "url": "https://github.com/dropbox/lepton/issues/112"
                }
              ]
            }
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
        "assignerShortName": "mitre",
        "cveId": "CVE-2018-20819",
        "datePublished": "2019-04-23T13:53:36.000Z",
        "dateReserved": "2019-04-23T00:00:00.000Z",
        "dateUpdated": "2024-08-05T12:12:27.304Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }

    CVE-2018-12445 (GCVE-0-2018-12445)

    Vulnerability from nvd – Published: 2018-06-20 12:00 – Updated: 2024-11-14 20:43 Disputed
    VLAI
    Summary
    An issue was discovered in the com.dropbox.android application 98.2.2 for Android. The FingerprintManager class for Biometric validation allows authentication bypass through the callback method from onAuthenticationFailed to onAuthenticationSucceeded with null, because the fingerprint API in conjunction with the Android keyGenerator class is not implemented. In other words, an attacker could authenticate with an arbitrary fingerprint. NOTE: the vendor indicates that this is not an attack of interest within the context of their threat model, which excludes Android devices on which rooting has occurred
    Severity
    No CVSS data available.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2024-11-14 20:42 UTC
    CWE
    • n/a
    Assigner
    mitre CNA under the mitre root
    CNA scorecard E 29/100 over 2368 records in the last 180 days details
    References
    Date Public
    2018-06-20 00:00
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-05T08:38:06.312Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://gist.github.com/tanprathan/0b63b1868307c732190c2ad3bd1791c7"
              }
            ],
            "title": "CVE Program Container"
          },
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2018-12445",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2024-11-14T20:42:18.620957Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2024-11-14T20:43:56.782Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "n/a",
              "vendor": "n/a",
              "versions": [
                {
                  "status": "affected",
                  "version": "n/a"
                }
              ]
            }
          ],
          "datePublic": "2018-06-20T00:00:00.000Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "An issue was discovered in the com.dropbox.android application 98.2.2 for Android. The FingerprintManager class for Biometric validation allows authentication bypass through the callback method from onAuthenticationFailed to onAuthenticationSucceeded with null, because the fingerprint API in conjunction with the Android keyGenerator class is not implemented. In other words, an attacker could authenticate with an arbitrary fingerprint. NOTE: the vendor indicates that this is not an attack of interest within the context of their threat model, which excludes Android devices on which rooting has occurred"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "description": "n/a",
                  "lang": "en",
                  "type": "text"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2018-06-20T11:57:01.000Z",
            "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
            "shortName": "mitre"
          },
          "references": [
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://gist.github.com/tanprathan/0b63b1868307c732190c2ad3bd1791c7"
            }
          ],
          "tags": [
            "disputed"
          ],
          "x_legacyV4Record": {
            "CVE_data_meta": {
              "ASSIGNER": "cve@mitre.org",
              "ID": "CVE-2018-12445",
              "STATE": "PUBLIC"
            },
            "affects": {
              "vendor": {
                "vendor_data": [
                  {
                    "product": {
                      "product_data": [
                        {
                          "product_name": "n/a",
                          "version": {
                            "version_data": [
                              {
                                "version_value": "n/a"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "vendor_name": "n/a"
                  }
                ]
              }
            },
            "data_format": "MITRE",
            "data_type": "CVE",
            "data_version": "4.0",
            "description": {
              "description_data": [
                {
                  "lang": "eng",
                  "value": "** DISPUTED ** An issue was discovered in the com.dropbox.android application 98.2.2 for Android. The FingerprintManager class for Biometric validation allows authentication bypass through the callback method from onAuthenticationFailed to onAuthenticationSucceeded with null, because the fingerprint API in conjunction with the Android keyGenerator class is not implemented. In other words, an attacker could authenticate with an arbitrary fingerprint. NOTE: the vendor indicates that this is not an attack of interest within the context of their threat model, which excludes Android devices on which rooting has occurred."
                }
              ]
            },
            "problemtype": {
              "problemtype_data": [
                {
                  "description": [
                    {
                      "lang": "eng",
                      "value": "n/a"
                    }
                  ]
                }
              ]
            },
            "references": {
              "reference_data": [
                {
                  "name": "https://gist.github.com/tanprathan/0b63b1868307c732190c2ad3bd1791c7",
                  "refsource": "MISC",
                  "url": "https://gist.github.com/tanprathan/0b63b1868307c732190c2ad3bd1791c7"
                }
              ]
            }
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
        "assignerShortName": "mitre",
        "cveId": "CVE-2018-12445",
        "datePublished": "2018-06-20T12:00:00.000Z",
        "dateReserved": "2018-06-15T00:00:00.000Z",
        "dateUpdated": "2024-11-14T20:43:56.782Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }

    CVE-2026-93471 (GCVE-0-2026-93471)

    Vulnerability from cvelistv5 – Published: 2026-10-22 06:59 – Updated: 2026-10-22 06:59
    VLAI
    Title
    Unbounded SAML message decompression in esaml allows memory exhaustion
    Summary
    Improper Handling of Highly Compressed Data (Data Amplification) in esaml_binding in dropbox esaml allows an unauthenticated attacker to exhaust server memory and crash the Erlang VM via a crafted compressed SAMLResponse. esaml_binding:decode_response/2 base64-decodes the attacker-supplied SAMLResponse, inflates it with zlib:unzip/1 with no bound on the output, then converts the result to a charlist with binary_to_list/1 before parsing. This runs on the SAML consume (ACS) and single-logout endpoints, which accept unauthenticated requests by design, and it runs before any signature check. A small deflate stream reaches a compression ratio near 1000 to 1, so a request body of tens of kilobytes inflates to hundreds of megabytes and then to several gigabytes of list heap, so a few requests exhaust memory and take the node down. This issue affects esaml: from 0.1.0 onward.
    CWE
    • CWE-409 - Improper Handling of Highly Compressed Data (Data Amplification)
    Assigner
    EEF CNA under the mitre root
    CNA scorecard A 96/100 over 318 records in the last 180 days details
    Impacted products
    Vendor Product Version
    handnot2 esaml Affected: deeb84378d5c82153b470e99d24f77c38afca14a , < * (git)
        cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    arekinath esaml Affected: deeb84378d5c82153b470e99d24f77c38afca14a , < * (git)
        cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox esaml Affected: 0.1.0 , < * (semver)
        cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox esaml Affected: deeb84378d5c82153b470e99d24f77c38afca14a , < * (git)
        cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "handnot2/esaml",
              "packageURL": "pkg:github/handnot2/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/handnot2/esaml",
              "vendor": "handnot2",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "deeb84378d5c82153b470e99d24f77c38afca14a",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "arekinath/esaml",
              "packageURL": "pkg:github/arekinath/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/arekinath/esaml",
              "vendor": "arekinath",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "deeb84378d5c82153b470e99d24f77c38afca14a",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "esaml",
              "packageURL": "pkg:hex/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/dropbox/esaml",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "0.1.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "dropbox/esaml",
              "packageURL": "pkg:github/dropbox/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/dropbox/esaml",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "deeb84378d5c82153b470e99d24f77c38afca14a",
                  "versionType": "git"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "2.0.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "0.1.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "Quinn Wilton"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Jonatan M\u00e4nnchen / EEF"
            },
            {
              "lang": "en",
              "type": "analyst",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "dateAssigned": "2026-10-06T10:25:40.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eImproper Handling of Highly Compressed Data (Data Amplification) in \u003ccode\u003eesaml_binding\u003c/code\u003e in dropbox esaml allows an unauthenticated attacker to exhaust server memory and crash the Erlang VM via a crafted compressed \u003ccode\u003eSAMLResponse\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eesaml_binding:decode_response/2\u003c/code\u003e base64-decodes the attacker-supplied \u003ccode\u003eSAMLResponse\u003c/code\u003e, inflates it with \u003ccode\u003ezlib:unzip/1\u003c/code\u003e with no bound on the output, then converts the result to a charlist with \u003ccode\u003ebinary_to_list/1\u003c/code\u003e before parsing. This runs on the SAML consume (ACS) and single-logout endpoints, which accept unauthenticated requests by design, and it runs before any signature check. A small deflate stream reaches a compression ratio near 1000 to 1, so a request body of tens of kilobytes inflates to hundreds of megabytes and then to several gigabytes of list heap, so a few requests exhaust memory and take the node down.\u003c/p\u003e\n\u003cp\u003eThis issue affects esaml: from 0.1.0 onward.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Improper Handling of Highly Compressed Data (Data Amplification) in `esaml_binding` in dropbox esaml allows an unauthenticated attacker to exhaust server memory and crash the Erlang VM via a crafted compressed `SAMLResponse`.\n\n`esaml_binding:decode_response/2` base64-decodes the attacker-supplied `SAMLResponse`, inflates it with `zlib:unzip/1` with no bound on the output, then converts the result to a charlist with `binary_to_list/1` before parsing. This runs on the SAML consume (ACS) and single-logout endpoints, which accept unauthenticated requests by design, and it runs before any signature check. A small deflate stream reaches a compression ratio near 1000 to 1, so a request body of tens of kilobytes inflates to hundreds of megabytes and then to several gigabytes of list heap, so a few requests exhaust memory and take the node down.\n\nThis issue affects esaml: from 0.1.0 onward."
                }
              ],
              "value": "Improper Handling of Highly Compressed Data (Data Amplification) in esaml_binding in dropbox esaml allows an unauthenticated attacker to exhaust server memory and crash the Erlang VM via a crafted compressed SAMLResponse.\n\nesaml_binding:decode_response/2 base64-decodes the attacker-supplied SAMLResponse, inflates it with zlib:unzip/1 with no bound on the output, then converts the result to a charlist with binary_to_list/1 before parsing. This runs on the SAML consume (ACS) and single-logout endpoints, which accept unauthenticated requests by design, and it runs before any signature check. A small deflate stream reaches a compression ratio near 1000 to 1, so a request body of tens of kilobytes inflates to hundreds of megabytes and then to several gigabytes of list heap, so a few requests exhaust memory and take the node down.\n\nThis issue affects esaml: from 0.1.0 onward."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-231",
              "descriptions": [
                {
                  "lang": "en",
                  "supportingMedia": [
                    {
                      "base64": false,
                      "type": "text/html",
                      "value": "\u003cp\u003eAn unauthenticated attacker reaches a SAML consume or single-logout endpoint and posts a small compressed \u003ccode\u003eSAMLResponse\u003c/code\u003e that inflates to gigabytes, exhausting memory. A few requests crash the Erlang VM and deny service to every user of the service provider.\u003c/p\u003e"
                    },
                    {
                      "base64": false,
                      "type": "text/markdown",
                      "value": "An unauthenticated attacker reaches a SAML consume or single-logout endpoint and posts a small compressed `SAMLResponse` that inflates to gigabytes, exhausting memory. A few requests crash the Erlang VM and deny service to every user of the service provider."
                    }
                  ],
                  "value": "An unauthenticated attacker reaches a SAML consume or single-logout endpoint and posts a small compressed SAMLResponse that inflates to gigabytes, exhausting memory. A few requests crash the Erlang VM and deny service to every user of the service provider."
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.7,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-409",
                  "description": "CWE-409 Improper Handling of Highly Compressed Data (Data Amplification)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-22T06:59:24.029Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "name": "EEF CNA record for CVE-2026-93471",
              "tags": [
                "related",
                "third-party-advisory"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-93471.html"
            },
            {
              "name": "OSV record EEF-CVE-2026-93471",
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-93471"
            },
            {
              "name": "Introducing commit deeb843 in handnot2/esaml",
              "tags": [
                "related"
              ],
              "url": "https://github.com/handnot2/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a"
            },
            {
              "name": "Introducing commit deeb843 in arekinath/esaml",
              "tags": [
                "related"
              ],
              "url": "https://github.com/arekinath/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a"
            },
            {
              "name": "Introducing commit deeb843 in dropbox/esaml",
              "tags": [
                "related",
                "broken-link"
              ],
              "url": "https://github.com/dropbox/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "Unbounded SAML message decompression in esaml allows memory exhaustion",
          "x_proofOfConcept": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003col\u003e\n\u003cli\u003eBuild a \u003ccode\u003eSAMLResponse\u003c/code\u003e as the base64 of a raw deflate stream of a long run of identical bytes (for example 60 MB of zero bytes), which encodes to roughly 79 KB on the wire.\u003c/li\u003e\n\u003cli\u003ePost it to the service provider\u0027s SAML consume (ACS) endpoint as the \u003ccode\u003eSAMLResponse\u003c/code\u003e form field, with \u003ccode\u003eSAMLEncoding\u003c/code\u003e set to the DEFLATE URI, or omitted to take the default clause.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eesaml_binding:decode_response/2\u003c/code\u003e inflates the stream and converts it to a charlist before any signature check. A single request spikes the Erlang VM by several gigabytes. Repeat to exhaust memory and crash the node.\u003c/li\u003e\n\u003c/ol\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "1. Build a `SAMLResponse` as the base64 of a raw deflate stream of a long run of identical bytes (for example 60 MB of zero bytes), which encodes to roughly 79 KB on the wire.\n2. Post it to the service provider\u0027s SAML consume (ACS) endpoint as the `SAMLResponse` form field, with `SAMLEncoding` set to the DEFLATE URI, or omitted to take the default clause.\n3. `esaml_binding:decode_response/2` inflates the stream and converts it to a charlist before any signature check. A single request spikes the Erlang VM by several gigabytes. Repeat to exhaust memory and crash the node."
                }
              ],
              "value": "* Build a SAMLResponse as the base64 of a raw deflate stream of a long run of identical bytes (for example 60 MB of zero bytes), which encodes to roughly 79 KB on the wire.\n* Post it to the service provider\u0027s SAML consume (ACS) endpoint as the SAMLResponse form field, with SAMLEncoding set to the DEFLATE URI, or omitted to take the default clause.\n* esaml_binding:decode_response/2 inflates the stream and converts it to a charlist before any signature check. A single request spikes the Erlang VM by several gigabytes. Repeat to exhaust memory and crash the node."
            }
          ],
          "x_technicalAnalysis": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003e\u003cstrong\u003e1. Input.\u003c/strong\u003e The SAML consume (ACS) and single-logout endpoints read the request body and pass the \u003ccode\u003eSAMLResponse\u003c/code\u003e form field to \u003ccode\u003eesaml_binding:decode_response/2\u003c/code\u003e. The attacker\u0027s \u003ccode\u003eSAMLEncoding\u003c/code\u003e field selects the clause. Both clauses inflate: the explicit DEFLATE clause, and the default clause, which tries \u003ccode\u003ezlib:unzip/1\u003c/code\u003e inside a \u003ccode\u003ecatch\u003c/code\u003e whenever the body is not plain XML.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2. Unbounded inflate.\u003c/strong\u003e \u003ccode\u003edecode_response/2\u003c/code\u003e evaluates \u003ccode\u003ebinary_to_list(zlib:unzip(base64:decode(SAMLResponse)))\u003c/code\u003e. \u003ccode\u003ezlib:unzip/1\u003c/code\u003e inflates the whole stream in one call with no cap on output size, and \u003ccode\u003ebinary_to_list/1\u003c/code\u003e then expands the inflated binary to a charlist, which costs about 16 bytes of heap per byte on a 64-bit VM.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3. Exhaustion before any check.\u003c/strong\u003e All of this happens before \u003ccode\u003exmerl_scan\u003c/code\u003e parses the document and before \u003ccode\u003eesaml_sp\u003c/code\u003e verifies any signature. A deflate stream of a long run of identical bytes reaches a ratio near 1000 to 1, so a request body of tens of kilobytes produces hundreds of megabytes of binary and then several gigabytes of list heap. A few concurrent requests exhaust memory and crash the node.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "**1. Input.** The SAML consume (ACS) and single-logout endpoints read the request body and pass the `SAMLResponse` form field to `esaml_binding:decode_response/2`. The attacker\u0027s `SAMLEncoding` field selects the clause. Both clauses inflate: the explicit DEFLATE clause, and the default clause, which tries `zlib:unzip/1` inside a `catch` whenever the body is not plain XML.\n\n**2. Unbounded inflate.** `decode_response/2` evaluates `binary_to_list(zlib:unzip(base64:decode(SAMLResponse)))`. `zlib:unzip/1` inflates the whole stream in one call with no cap on output size, and `binary_to_list/1` then expands the inflated binary to a charlist, which costs about 16 bytes of heap per byte on a 64-bit VM.\n\n**3. Exhaustion before any check.** All of this happens before `xmerl_scan` parses the document and before `esaml_sp` verifies any signature. A deflate stream of a long run of identical bytes reaches a ratio near 1000 to 1, so a request body of tens of kilobytes produces hundreds of megabytes of binary and then several gigabytes of list heap. A few concurrent requests exhaust memory and crash the node."
                }
              ],
              "value": "1. Input. The SAML consume (ACS) and single-logout endpoints read the request body and pass the SAMLResponse form field to esaml_binding:decode_response/2. The attacker\u0027s SAMLEncoding field selects the clause. Both clauses inflate: the explicit DEFLATE clause, and the default clause, which tries zlib:unzip/1 inside a catch whenever the body is not plain XML.\n\n2. Unbounded inflate. decode_response/2 evaluates binary_to_list(zlib:unzip(base64:decode(SAMLResponse))). zlib:unzip/1 inflates the whole stream in one call with no cap on output size, and binary_to_list/1 then expands the inflated binary to a charlist, which costs about 16 bytes of heap per byte on a 64-bit VM.\n\n3. Exhaustion before any check. All of this happens before xmerl_scan parses the document and before esaml_sp verifies any signature. A deflate stream of a long run of identical bytes reaches a ratio near 1000 to 1, so a request body of tens of kilobytes produces hundreds of megabytes of binary and then several gigabytes of list heap. A few concurrent requests exhaust memory and crash the node."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-93471",
        "datePublished": "2026-10-22T06:59:24.029Z",
        "dateReserved": "2026-10-06T08:45:01.518Z",
        "dateUpdated": "2026-10-22T06:59:24.029Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-86696 (GCVE-0-2026-86696)

    Vulnerability from cvelistv5 – Published: 2026-10-22 06:59 – Updated: 2026-10-22 06:59
    VLAI
    Title
    Unbounded atom creation from unsigned LogoutResponse status codes in esaml allows atom table exhaustion
    Summary
    Allocation of Resources Without Limits or Throttling vulnerability in esaml in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via unsigned LogoutResponse messages. esaml:status_code_map/1 in src/esaml.erl maps any StatusCode value it does not recognize to an atom with list_to_atom/1 on the last colon-separated segment of the URN. esaml_sp:validate_logout_response/2 verifies a signature only when the message carries one, so an unsigned LogoutResponse posted to the single-logout endpoint reaches esaml:decode_logout_response/1 and mints one permanent atom per distinct status value. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so an attacker who posts that many distinct values aborts the node. This issue affects esaml: from 0.1.0 onward.
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Assigner
    EEF CNA under the mitre root
    CNA scorecard A 96/100 over 318 records in the last 180 days details
    Impacted products
    Vendor Product Version
    handnot2 esaml Affected: be692b56245071899757afa7ef47e43593d3de96 , < * (git)
        cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    arekinath esaml Affected: be692b56245071899757afa7ef47e43593d3de96 , < * (git)
        cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox esaml Affected: 0.1.0 , < * (semver)
        cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox esaml Affected: be692b56245071899757afa7ef47e43593d3de96 , < * (git)
        cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml",
                "esaml_sp",
                "esaml_cowboy"
              ],
              "packageName": "handnot2/esaml",
              "packageURL": "pkg:github/handnot2/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml.erl",
                "src/esaml_sp.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml:status_code_map/1"
                },
                {
                  "name": "esaml:decode_logout_response/1"
                },
                {
                  "name": "esaml_sp:validate_logout_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/handnot2/esaml",
              "vendor": "handnot2",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "be692b56245071899757afa7ef47e43593d3de96",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml",
                "esaml_sp",
                "esaml_cowboy"
              ],
              "packageName": "arekinath/esaml",
              "packageURL": "pkg:github/arekinath/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml.erl",
                "src/esaml_sp.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml:status_code_map/1"
                },
                {
                  "name": "esaml:decode_logout_response/1"
                },
                {
                  "name": "esaml_sp:validate_logout_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/arekinath/esaml",
              "vendor": "arekinath",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "be692b56245071899757afa7ef47e43593d3de96",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml",
                "esaml_sp",
                "esaml_cowboy"
              ],
              "packageName": "esaml",
              "packageURL": "pkg:hex/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml.erl",
                "src/esaml_sp.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml:status_code_map/1"
                },
                {
                  "name": "esaml:decode_logout_response/1"
                },
                {
                  "name": "esaml_sp:validate_logout_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/dropbox/esaml",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "0.1.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml",
                "esaml_sp",
                "esaml_cowboy"
              ],
              "packageName": "dropbox/esaml",
              "packageURL": "pkg:github/dropbox/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml.erl",
                "src/esaml_sp.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml:status_code_map/1"
                },
                {
                  "name": "esaml:decode_logout_response/1"
                },
                {
                  "name": "esaml_sp:validate_logout_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/dropbox/esaml",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "be692b56245071899757afa7ef47e43593d3de96",
                  "versionType": "git"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eReachable only where the service provider exposes a single-logout endpoint that hands incoming \u003ccode\u003eLogoutResponse\u003c/code\u003e messages to \u003ccode\u003eesaml_sp:validate_logout_response/2\u003c/code\u003e, directly or through \u003ccode\u003eesaml_cowboy:validate_logout/2\u003c/code\u003e. The consume (ACS) path verifies signatures before decoding and does not reach the status code mapping.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Reachable only where the service provider exposes a single-logout endpoint that hands incoming `LogoutResponse` messages to `esaml_sp:validate_logout_response/2`, directly or through `esaml_cowboy:validate_logout/2`. The consume (ACS) path verifies signatures before decoding and does not reach the status code mapping."
                }
              ],
              "value": "Reachable only where the service provider exposes a single-logout endpoint that hands incoming LogoutResponse messages to esaml_sp:validate_logout_response/2, directly or through esaml_cowboy:validate_logout/2. The consume (ACS) path verifies signatures before decoding and does not reach the status code mapping."
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "2.0.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "0.1.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Quinn Wilton"
            },
            {
              "lang": "en",
              "type": "reporter",
              "value": "Quinn Wilton"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "dateAssigned": "2026-10-08T14:39:37.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eAllocation of Resources Without Limits or Throttling vulnerability in \u003ccode\u003eesaml\u003c/code\u003e in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via unsigned \u003ccode\u003eLogoutResponse\u003c/code\u003e messages.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eesaml:status_code_map/1\u003c/code\u003e in \u003ccode\u003esrc/esaml.erl\u003c/code\u003e maps any \u003ccode\u003eStatusCode\u003c/code\u003e value it does not recognize to an atom with \u003ccode\u003elist_to_atom/1\u003c/code\u003e on the last colon-separated segment of the URN. \u003ccode\u003eesaml_sp:validate_logout_response/2\u003c/code\u003e verifies a signature only when the message carries one, so an unsigned \u003ccode\u003eLogoutResponse\u003c/code\u003e posted to the single-logout endpoint reaches \u003ccode\u003eesaml:decode_logout_response/1\u003c/code\u003e and mints one permanent atom per distinct status value. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so an attacker who posts that many distinct values aborts the node.\u003c/p\u003e\n\u003cp\u003eThis issue affects esaml: from 0.1.0 onward.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Allocation of Resources Without Limits or Throttling vulnerability in `esaml` in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via unsigned `LogoutResponse` messages.\n\n`esaml:status_code_map/1` in `src/esaml.erl` maps any `StatusCode` value it does not recognize to an atom with `list_to_atom/1` on the last colon-separated segment of the URN. `esaml_sp:validate_logout_response/2` verifies a signature only when the message carries one, so an unsigned `LogoutResponse` posted to the single-logout endpoint reaches `esaml:decode_logout_response/1` and mints one permanent atom per distinct status value. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so an attacker who posts that many distinct values aborts the node.\n\nThis issue affects esaml: from 0.1.0 onward."
                }
              ],
              "value": "Allocation of Resources Without Limits or Throttling vulnerability in esaml in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via unsigned LogoutResponse messages.\n\nesaml:status_code_map/1 in src/esaml.erl maps any StatusCode value it does not recognize to an atom with list_to_atom/1 on the last colon-separated segment of the URN. esaml_sp:validate_logout_response/2 verifies a signature only when the message carries one, so an unsigned LogoutResponse posted to the single-logout endpoint reaches esaml:decode_logout_response/1 and mints one permanent atom per distinct status value. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so an attacker who posts that many distinct values aborts the node.\n\nThis issue affects esaml: from 0.1.0 onward."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-125",
              "descriptions": [
                {
                  "lang": "en",
                  "supportingMedia": [
                    {
                      "base64": false,
                      "type": "text/html",
                      "value": "\u003cp\u003eAn unauthenticated attacker posts unsigned \u003ccode\u003eLogoutResponse\u003c/code\u003e messages with distinct status code URNs to a service provider\u0027s single-logout endpoint. Each message permanently consumes one atom table entry, and about one million of them abort the Erlang VM, denying service to every user of the service provider.\u003c/p\u003e"
                    },
                    {
                      "base64": false,
                      "type": "text/markdown",
                      "value": "An unauthenticated attacker posts unsigned `LogoutResponse` messages with distinct status code URNs to a service provider\u0027s single-logout endpoint. Each message permanently consumes one atom table entry, and about one million of them abort the Erlang VM, denying service to every user of the service provider."
                    }
                  ],
                  "value": "An unauthenticated attacker posts unsigned LogoutResponse messages with distinct status code URNs to a service provider\u0027s single-logout endpoint. Each message permanently consumes one atom table entry, and about one million of them abort the Erlang VM, denying service to every user of the service provider."
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 8.2,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770 Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-22T06:59:07.680Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "name": "EEF CNA record for CVE-2026-86696",
              "tags": [
                "related",
                "third-party-advisory"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-86696.html"
            },
            {
              "name": "OSV record EEF-CVE-2026-86696",
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-86696"
            },
            {
              "name": "Introducing commit be692b5 in handnot2/esaml",
              "tags": [
                "related"
              ],
              "url": "https://github.com/handnot2/esaml/commit/be692b56245071899757afa7ef47e43593d3de96"
            },
            {
              "name": "Introducing commit be692b5 in arekinath/esaml",
              "tags": [
                "related"
              ],
              "url": "https://github.com/arekinath/esaml/commit/be692b56245071899757afa7ef47e43593d3de96"
            },
            {
              "name": "Introducing commit be692b5 in dropbox/esaml",
              "tags": [
                "related",
                "broken-link"
              ],
              "url": "https://github.com/dropbox/esaml/commit/be692b56245071899757afa7ef47e43593d3de96"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "Unbounded atom creation from unsigned LogoutResponse status codes in esaml allows atom table exhaustion",
          "x_proofOfConcept": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003col\u003e\n\u003cli\u003eBuild an unsigned \u003ccode\u003esamlp:LogoutResponse\u003c/code\u003e document with \u003ccode\u003eVersion=\"2.0\"\u003c/code\u003e, any \u003ccode\u003eIssueInstant\u003c/code\u003e, and a \u003ccode\u003esamlp:Status/samlp:StatusCode\u003c/code\u003e whose \u003ccode\u003eValue\u003c/code\u003e is a fresh URN such as \u003ccode\u003eurn:x:\u0026lt;unique token\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDeflate and base64-encode it, and post it to the service provider\u0027s single-logout endpoint as the \u003ccode\u003eSAMLResponse\u003c/code\u003e form field with \u003ccode\u003eSAMLEncoding\u003c/code\u003e set to the DEFLATE URI.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eesaml_sp:validate_logout_response/2\u003c/code\u003e skips signature verification because none is present, \u003ccode\u003eesaml:decode_logout_response/1\u003c/code\u003e maps the status through \u003ccode\u003estatus_code_map/1\u003c/code\u003e, and the atom table grows by one entry per distinct token. The endpoint answers with an error, but the atom is never reclaimed. Repeat with fresh tokens until the VM aborts.\u003c/li\u003e\n\u003c/ol\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "1. Build an unsigned `samlp:LogoutResponse` document with `Version=\"2.0\"`, any `IssueInstant`, and a `samlp:Status/samlp:StatusCode` whose `Value` is a fresh URN such as `urn:x:\u003cunique token\u003e`.\n2. Deflate and base64-encode it, and post it to the service provider\u0027s single-logout endpoint as the `SAMLResponse` form field with `SAMLEncoding` set to the DEFLATE URI.\n3. `esaml_sp:validate_logout_response/2` skips signature verification because none is present, `esaml:decode_logout_response/1` maps the status through `status_code_map/1`, and the atom table grows by one entry per distinct token. The endpoint answers with an error, but the atom is never reclaimed. Repeat with fresh tokens until the VM aborts."
                }
              ],
              "value": "* Build an unsigned samlp:LogoutResponse document with Version=\"2.0\", any IssueInstant, and a samlp:Status/samlp:StatusCode whose Value is a fresh URN such as urn:x:\u003cunique token\u003e.\n* Deflate and base64-encode it, and post it to the service provider\u0027s single-logout endpoint as the SAMLResponse form field with SAMLEncoding set to the DEFLATE URI.\n* esaml_sp:validate_logout_response/2 skips signature verification because none is present, esaml:decode_logout_response/1 maps the status through status_code_map/1, and the atom table grows by one entry per distinct token. The endpoint answers with an error, but the atom is never reclaimed. Repeat with fresh tokens until the VM aborts."
            }
          ],
          "x_technicalAnalysis": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003e\u003cstrong\u003e1. Input.\u003c/strong\u003e The single-logout endpoint in \u003ccode\u003eesaml_cowboy:validate_logout/2\u003c/code\u003e reads the request body, decodes the \u003ccode\u003eSAMLResponse\u003c/code\u003e form field with \u003ccode\u003eesaml_binding:decode_response/2\u003c/code\u003e, and passes a \u003ccode\u003esamlp:LogoutResponse\u003c/code\u003e document to \u003ccode\u003eesaml_sp:validate_logout_response/2\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2. No signature required.\u003c/strong\u003e \u003ccode\u003evalidate_logout_response/2\u003c/code\u003e looks for a \u003ccode\u003eds:Signature\u003c/code\u003e element and verifies it only when one is present. An unsigned document passes through unchanged to \u003ccode\u003eesaml:decode_logout_response/1\u003c/code\u003e, which requires only the \u003ccode\u003eVersion\u003c/code\u003e and \u003ccode\u003eIssueInstant\u003c/code\u003e attributes before mapping the \u003ccode\u003eStatusCode\u003c/code\u003e value.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3. Interning.\u003c/strong\u003e \u003ccode\u003eesaml:status_code_map/1\u003c/code\u003e matches six known SAML status URNs to fixed atoms. Any other value starting with \u003ccode\u003eurn:\u003c/code\u003e falls through to a clause that interns the last colon-separated segment with \u003ccode\u003elist_to_atom/1\u003c/code\u003e. The attacker chooses that segment, so each request with a fresh value mints one permanent atom. The VM aborts when the atom table reaches its limit of about one million entries.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "**1. Input.** The single-logout endpoint in `esaml_cowboy:validate_logout/2` reads the request body, decodes the `SAMLResponse` form field with `esaml_binding:decode_response/2`, and passes a `samlp:LogoutResponse` document to `esaml_sp:validate_logout_response/2`.\n\n**2. No signature required.** `validate_logout_response/2` looks for a `ds:Signature` element and verifies it only when one is present. An unsigned document passes through unchanged to `esaml:decode_logout_response/1`, which requires only the `Version` and `IssueInstant` attributes before mapping the `StatusCode` value.\n\n**3. Interning.** `esaml:status_code_map/1` matches six known SAML status URNs to fixed atoms. Any other value starting with `urn:` falls through to a clause that interns the last colon-separated segment with `list_to_atom/1`. The attacker chooses that segment, so each request with a fresh value mints one permanent atom. The VM aborts when the atom table reaches its limit of about one million entries."
                }
              ],
              "value": "1. Input. The single-logout endpoint in esaml_cowboy:validate_logout/2 reads the request body, decodes the SAMLResponse form field with esaml_binding:decode_response/2, and passes a samlp:LogoutResponse document to esaml_sp:validate_logout_response/2.\n\n2. No signature required. validate_logout_response/2 looks for a ds:Signature element and verifies it only when one is present. An unsigned document passes through unchanged to esaml:decode_logout_response/1, which requires only the Version and IssueInstant attributes before mapping the StatusCode value.\n\n3. Interning. esaml:status_code_map/1 matches six known SAML status URNs to fixed atoms. Any other value starting with urn: falls through to a clause that interns the last colon-separated segment with list_to_atom/1. The attacker chooses that segment, so each request with a fresh value mints one permanent atom. The VM aborts when the atom table reaches its limit of about one million entries."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-86696",
        "datePublished": "2026-10-22T06:59:07.680Z",
        "dateReserved": "2026-10-08T13:45:02.138Z",
        "dateUpdated": "2026-10-22T06:59:07.680Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-105270 (GCVE-0-2026-105270)

    Vulnerability from cvelistv5 – Published: 2026-10-22 06:58 – Updated: 2026-10-22 06:58
    VLAI
    Title
    Unbounded atom creation while parsing SAML messages in esaml allows atom table exhaustion
    Summary
    Allocation of Resources Without Limits or Throttling vulnerability in esaml_binding in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via a crafted SAMLResponse. esaml_binding:decode_response/2 parses the decoded SAMLResponse with xmerl_scan:string/2, which interns every element name, attribute name, and namespace prefix it reads as a permanent atom. The SAML consume (ACS) and single-logout endpoints call it on unauthenticated requests before any signature check, so one well-formed document with thousands of distinct names mints thousands of atoms while staying inside the 128 KB request body limit. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so a few dozen requests abort the node. This issue affects esaml: from 0.1.0 onward.
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Assigner
    EEF CNA under the mitre root
    CNA scorecard A 96/100 over 318 records in the last 180 days details
    Impacted products
    Vendor Product Version
    arekinath esaml Affected: deeb84378d5c82153b470e99d24f77c38afca14a , < * (git)
        cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    handnot2 esaml Affected: deeb84378d5c82153b470e99d24f77c38afca14a , < * (git)
        cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox esaml Affected: 0.1.0 , < * (semver)
        cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox esaml Affected: deeb84378d5c82153b470e99d24f77c38afca14a , < * (git)
        cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "arekinath/esaml",
              "packageURL": "pkg:github/arekinath/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/arekinath/esaml",
              "vendor": "arekinath",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "deeb84378d5c82153b470e99d24f77c38afca14a",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "handnot2/esaml",
              "packageURL": "pkg:github/handnot2/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/handnot2/esaml",
              "vendor": "handnot2",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "deeb84378d5c82153b470e99d24f77c38afca14a",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "esaml",
              "packageURL": "pkg:hex/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/dropbox/esaml",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "0.1.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "esaml_binding",
                "esaml_cowboy"
              ],
              "packageName": "dropbox/esaml",
              "packageURL": "pkg:github/dropbox/esaml",
              "product": "esaml",
              "programFiles": [
                "src/esaml_binding.erl",
                "src/esaml_cowboy.erl"
              ],
              "programRoutines": [
                {
                  "name": "esaml_binding:decode_response/2"
                },
                {
                  "name": "esaml_cowboy:validate_assertion/2"
                },
                {
                  "name": "esaml_cowboy:validate_logout/2"
                }
              ],
              "repo": "https://github.com/dropbox/esaml",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "deeb84378d5c82153b470e99d24f77c38afca14a",
                  "versionType": "git"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "2.0.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "0.1.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Quinn Wilton"
            },
            {
              "lang": "en",
              "type": "reporter",
              "value": "Quinn Wilton"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "dateAssigned": "2026-10-08T14:44:30.000Z",
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eAllocation of Resources Without Limits or Throttling vulnerability in \u003ccode\u003eesaml_binding\u003c/code\u003e in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via a crafted \u003ccode\u003eSAMLResponse\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eesaml_binding:decode_response/2\u003c/code\u003e parses the decoded \u003ccode\u003eSAMLResponse\u003c/code\u003e with \u003ccode\u003exmerl_scan:string/2\u003c/code\u003e, which interns every element name, attribute name, and namespace prefix it reads as a permanent atom. The SAML consume (ACS) and single-logout endpoints call it on unauthenticated requests before any signature check, so one well-formed document with thousands of distinct names mints thousands of atoms while staying inside the 128 KB request body limit. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so a few dozen requests abort the node.\u003c/p\u003e\n\u003cp\u003eThis issue affects esaml: from 0.1.0 onward.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Allocation of Resources Without Limits or Throttling vulnerability in `esaml_binding` in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via a crafted `SAMLResponse`.\n\n`esaml_binding:decode_response/2` parses the decoded `SAMLResponse` with `xmerl_scan:string/2`, which interns every element name, attribute name, and namespace prefix it reads as a permanent atom. The SAML consume (ACS) and single-logout endpoints call it on unauthenticated requests before any signature check, so one well-formed document with thousands of distinct names mints thousands of atoms while staying inside the 128 KB request body limit. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so a few dozen requests abort the node.\n\nThis issue affects esaml: from 0.1.0 onward."
                }
              ],
              "value": "Allocation of Resources Without Limits or Throttling vulnerability in esaml_binding in dropbox esaml allows an unauthenticated attacker to exhaust the Erlang VM atom table and crash the node via a crafted SAMLResponse.\n\nesaml_binding:decode_response/2 parses the decoded SAMLResponse with xmerl_scan:string/2, which interns every element name, attribute name, and namespace prefix it reads as a permanent atom. The SAML consume (ACS) and single-logout endpoints call it on unauthenticated requests before any signature check, so one well-formed document with thousands of distinct names mints thousands of atoms while staying inside the 128 KB request body limit. Atoms are never reclaimed and the VM caps the atom table at about one million entries, so a few dozen requests abort the node.\n\nThis issue affects esaml: from 0.1.0 onward."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-130",
              "descriptions": [
                {
                  "lang": "en",
                  "supportingMedia": [
                    {
                      "base64": false,
                      "type": "text/html",
                      "value": "\u003cp\u003eAn unauthenticated attacker posts a small SAML document with thousands of distinct element and attribute names to a service provider\u0027s consume or single-logout endpoint. Each request permanently consumes thousands of atom table entries, and a few dozen requests abort the Erlang VM, denying service to every user of the service provider.\u003c/p\u003e"
                    },
                    {
                      "base64": false,
                      "type": "text/markdown",
                      "value": "An unauthenticated attacker posts a small SAML document with thousands of distinct element and attribute names to a service provider\u0027s consume or single-logout endpoint. Each request permanently consumes thousands of atom table entries, and a few dozen requests abort the Erlang VM, denying service to every user of the service provider."
                    }
                  ],
                  "value": "An unauthenticated attacker posts a small SAML document with thousands of distinct element and attribute names to a service provider\u0027s consume or single-logout endpoint. Each request permanently consumes thousands of atom table entries, and a few dozen requests abort the Erlang VM, denying service to every user of the service provider."
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.7,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770 Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-22T06:58:43.034Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "name": "EEF CNA record for CVE-2026-105270",
              "tags": [
                "related",
                "third-party-advisory"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-105270.html"
            },
            {
              "name": "OSV record EEF-CVE-2026-105270",
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-105270"
            },
            {
              "name": "Introducing commit deeb843 in arekinath/esaml",
              "tags": [
                "related"
              ],
              "url": "https://github.com/arekinath/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a"
            },
            {
              "name": "Introducing commit deeb843 in handnot2/esaml",
              "tags": [
                "related"
              ],
              "url": "https://github.com/handnot2/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a"
            },
            {
              "name": "Introducing commit deeb843 in dropbox/esaml",
              "tags": [
                "related",
                "broken-link"
              ],
              "url": "https://github.com/dropbox/esaml/commit/deeb84378d5c82153b470e99d24f77c38afca14a"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "Unbounded atom creation while parsing SAML messages in esaml allows atom table exhaustion",
          "x_proofOfConcept": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003col\u003e\n\u003cli\u003eBuild a well-formed XML document whose root contains several thousand empty elements with distinct names, each carrying a distinctly named attribute, for example \u003ccode\u003e\u0026lt;p0 a0=\"x\"/\u0026gt;\u003c/code\u003e through \u003ccode\u003e\u0026lt;p4999 a4999=\"x\"/\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eDeflate and base64-encode it, and post it to the service provider\u0027s SAML consume (ACS) or single-logout endpoint as the \u003ccode\u003eSAMLResponse\u003c/code\u003e form field with \u003ccode\u003eSAMLEncoding\u003c/code\u003e set to the DEFLATE URI. A document with 5,000 elements and 5,000 attributes encodes to about 33 KB.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eesaml_binding:decode_response/2\u003c/code\u003e parses it with \u003ccode\u003exmerl_scan:string/2\u003c/code\u003e before any signature check, and the atom table grows by 10,000 entries that are never reclaimed. Repeat with fresh names until the VM aborts.\u003c/li\u003e\n\u003c/ol\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "1. Build a well-formed XML document whose root contains several thousand empty elements with distinct names, each carrying a distinctly named attribute, for example `\u003cp0 a0=\"x\"/\u003e` through `\u003cp4999 a4999=\"x\"/\u003e`.\n2. Deflate and base64-encode it, and post it to the service provider\u0027s SAML consume (ACS) or single-logout endpoint as the `SAMLResponse` form field with `SAMLEncoding` set to the DEFLATE URI. A document with 5,000 elements and 5,000 attributes encodes to about 33 KB.\n3. `esaml_binding:decode_response/2` parses it with `xmerl_scan:string/2` before any signature check, and the atom table grows by 10,000 entries that are never reclaimed. Repeat with fresh names until the VM aborts."
                }
              ],
              "value": "* Build a well-formed XML document whose root contains several thousand empty elements with distinct names, each carrying a distinctly named attribute, for example \u003cp0 a0=\"x\"/\u003e through \u003cp4999 a4999=\"x\"/\u003e.\n* Deflate and base64-encode it, and post it to the service provider\u0027s SAML consume (ACS) or single-logout endpoint as the SAMLResponse form field with SAMLEncoding set to the DEFLATE URI. A document with 5,000 elements and 5,000 attributes encodes to about 33 KB.\n* esaml_binding:decode_response/2 parses it with xmerl_scan:string/2 before any signature check, and the atom table grows by 10,000 entries that are never reclaimed. Repeat with fresh names until the VM aborts."
            }
          ],
          "x_technicalAnalysis": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003e\u003cstrong\u003e1. Input.\u003c/strong\u003e The SAML consume (ACS) and single-logout endpoints in \u003ccode\u003eesaml_cowboy\u003c/code\u003e read the request body, capped at 128 KB, and pass the \u003ccode\u003eSAMLResponse\u003c/code\u003e form field to \u003ccode\u003eesaml_binding:decode_response/2\u003c/code\u003e. Both the DEFLATE clause and the default clause end in \u003ccode\u003exmerl_scan:string/2\u003c/code\u003e with \u003ccode\u003enamespace_conformant\u003c/code\u003e set.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2. Interning.\u003c/strong\u003e \u003ccode\u003exmerl_scan\u003c/code\u003e converts every element name, attribute name, and namespace prefix it tokenizes into an atom with \u003ccode\u003elist_to_atom/1\u003c/code\u003e, and the same happens for each namespace local name in \u003ccode\u003eexpanded_name/4\u003c/code\u003e. A well-formed document with many distinct names therefore mints one permanent atom per name. Repetitive names deflate well, so a document with ten thousand distinct names fits in a few tens of kilobytes on the wire.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3. Exhaustion before any check.\u003c/strong\u003e Signature verification and assertion validation run on the parsed document afterward, so the atoms are minted whether or not the document is a valid or signed SAML message. Atoms are never garbage collected and the VM aborts when the atom table reaches its limit of about one million entries, so a few dozen requests take the node down.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "**1. Input.** The SAML consume (ACS) and single-logout endpoints in `esaml_cowboy` read the request body, capped at 128 KB, and pass the `SAMLResponse` form field to `esaml_binding:decode_response/2`. Both the DEFLATE clause and the default clause end in `xmerl_scan:string/2` with `namespace_conformant` set.\n\n**2. Interning.** `xmerl_scan` converts every element name, attribute name, and namespace prefix it tokenizes into an atom with `list_to_atom/1`, and the same happens for each namespace local name in `expanded_name/4`. A well-formed document with many distinct names therefore mints one permanent atom per name. Repetitive names deflate well, so a document with ten thousand distinct names fits in a few tens of kilobytes on the wire.\n\n**3. Exhaustion before any check.** Signature verification and assertion validation run on the parsed document afterward, so the atoms are minted whether or not the document is a valid or signed SAML message. Atoms are never garbage collected and the VM aborts when the atom table reaches its limit of about one million entries, so a few dozen requests take the node down."
                }
              ],
              "value": "1. Input. The SAML consume (ACS) and single-logout endpoints in esaml_cowboy read the request body, capped at 128 KB, and pass the SAMLResponse form field to esaml_binding:decode_response/2. Both the DEFLATE clause and the default clause end in xmerl_scan:string/2 with namespace_conformant set.\n\n2. Interning. xmerl_scan converts every element name, attribute name, and namespace prefix it tokenizes into an atom with list_to_atom/1, and the same happens for each namespace local name in expanded_name/4. A well-formed document with many distinct names therefore mints one permanent atom per name. Repetitive names deflate well, so a document with ten thousand distinct names fits in a few tens of kilobytes on the wire.\n\n3. Exhaustion before any check. Signature verification and assertion validation run on the parsed document afterward, so the atoms are minted whether or not the document is a valid or signed SAML message. Atoms are never garbage collected and the VM aborts when the atom table reaches its limit of about one million entries, so a few dozen requests take the node down."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-105270",
        "datePublished": "2026-10-22T06:58:43.034Z",
        "dateReserved": "2026-10-07T22:15:01.882Z",
        "dateUpdated": "2026-10-22T06:58:43.034Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-81102 (GCVE-0-2026-81102)

    Vulnerability from cvelistv5 – Published: 2026-08-27 14:50 – Updated: 2026-08-29 11:48
    VLAI
    Title
    Dropbox Dash MCP Server DNS Rebinding via Missing Host Header Validation
    Summary
    The Dash MCP server bound its listener to the loopback address but never checked the host a request named. src/mcp_server_dash.py constructed the server for its network mode with the interface restricted to loopback and no transport-security settings, so a name that had been pointed at the loopback address still reached the listener while carrying the attacker's host name. A page in a visitor's browser could therefore drive the local server and invoke its company-search and file-detail tools under the Dropbox credential the server holds. Only the network mode was reachable this way; the standard input mode was not. The fix supplies transport-security settings that enable host checking and allow only the loopback name and port, rejecting other hosts before a tool runs. The repository publishes no versions, so the affected boundary is the commit preceding the fix.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-08-27 18:24 UTC
    CWE
    • CWE-346 - Origin Validation Error
    Assigner
    VulnCheck CNA under the mitre root
    CNA scorecard B 84/100 over 6752 records in the last 180 days details
    Impacted products
    Vendor Product Version
    dropbox mcp-server-dash Unaffected: 84567b74e3c72e42d5e50ee07c56864613f519c2 (git)
    Affected: 0 , < 84567b74e3c72e42d5e50ee07c56864613f519c2 (git)
    Create a notification for this product.
    Date Public
    2026-08-26 00:00
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-81102",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-08-27T18:24:11.152281Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-08-28T15:59:46.600Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://github.com/dropbox/mcp-server-dash",
              "defaultStatus": "unaffected",
              "product": "mcp-server-dash",
              "repo": "https://github.com/dropbox/mcp-server-dash",
              "vendor": "dropbox",
              "versions": [
                {
                  "status": "unaffected",
                  "version": "84567b74e3c72e42d5e50ee07c56864613f519c2",
                  "versionType": "git"
                },
                {
                  "lessThan": "84567b74e3c72e42d5e50ee07c56864613f519c2",
                  "status": "affected",
                  "version": "0",
                  "versionType": "git"
                }
              ]
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Avishai Gonen (Pluto Security)"
            }
          ],
          "datePublic": "2026-08-26T00:00:00.000Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "The Dash MCP server bound its listener to the loopback address but never checked the host a request named. src/mcp_server_dash.py constructed the server for its network mode with the interface restricted to loopback and no transport-security settings, so a name that had been pointed at the loopback address still reached the listener while carrying the attacker\u0027s host name. A page in a visitor\u0027s browser could therefore drive the local server and invoke its company-search and file-detail tools under the Dropbox credential the server holds. Only the network mode was reachable this way; the standard input mode was not. The fix supplies transport-security settings that enable host checking and allow only the loopback name and port, rejecting other hosts before a tool runs. The repository publishes no versions, so the affected boundary is the commit preceding the fix."
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 2.3,
                "baseSeverity": "LOW",
                "exploitMaturity": "NOT_DEFINED",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "PASSIVE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "LOW",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            },
            {
              "cvssV3_1": {
                "attackComplexity": "HIGH",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 3.1,
                "baseSeverity": "LOW",
                "confidentialityImpact": "LOW",
                "integrityImpact": "NONE",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N",
                "version": "3.1"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-346",
                  "description": "Origin Validation Error",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-08-29T11:48:14.917Z",
            "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
            "shortName": "VulnCheck"
          },
          "references": [
            {
              "tags": [
                "product"
              ],
              "url": "https://github.com/dropbox/mcp-server-dash"
            },
            {
              "tags": [
                "issue-tracking",
                "patch"
              ],
              "url": "https://github.com/dropbox/mcp-server-dash/pull/12"
            },
            {
              "name": "VulnCheck Advisory: Dropbox Dash MCP Server DNS Rebinding via Missing Host Header Validation",
              "tags": [
                "third-party-advisory"
              ],
              "url": "https://www.vulncheck.com/advisories/dropbox-dash-mcp-server-dns-rebinding-via-missing-host-header-validation"
            }
          ],
          "source": {
            "discovery": "UNKNOWN"
          },
          "title": "Dropbox Dash MCP Server DNS Rebinding via Missing Host Header Validation",
          "x_generator": {
            "engine": "vulncheck-endgame"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
        "assignerShortName": "VulnCheck",
        "cveId": "CVE-2026-81102",
        "datePublished": "2026-08-27T14:50:41.263Z",
        "dateReserved": "2026-08-26T16:00:34.461Z",
        "dateUpdated": "2026-08-29T11:48:14.917Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-53424 (GCVE-0-2026-53424)

    Vulnerability from cvelistv5 – Published: 2026-08-20 17:27 – Updated: 2026-08-21 19:42
    VLAI
    Title
    Missing one-time-use enforcement in Samly allows replay of SAML bearer assertions
    Summary
    Authentication Bypass by Capture-replay vulnerability in dropbox samly allows an attacker to authenticate as the subject of a captured SAML assertion by resubmitting it. Samly.Helper.decode_idp_auth_resp/3 in lib/samly/helper.ex calls esaml_sp:validate_assertion/2, whose default duplicate detector is a no-op. The /3 arity accepting a DuplicateFun exists in esaml and implements the check, but Samly never calls it and offers no configuration to supply one, so the SAML 2.0 Web Browser SSO Profile requirement that a bearer assertion be used once is unenforced. An attacker holding a valid SAMLResponse obtained from the network, from browser history, or from logs can submit the identical bytes repeatedly until the assertion's NotOnOrAfter passes, each time establishing a session as the assertion's subject. This issue affects samly: from 0.3.0 onward.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-08-21 19:41 UTC
    CWE
    • CWE-294 - Authentication Bypass by Capture-replay
    Assigner
    EEF CNA under the mitre root
    CNA scorecard A 96/100 over 318 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    dropbox samly Affected: 0.3.0 , < * (semver)
        cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox samly Affected: 8a5bb1b4a4753d05470da2036323477f63cfdf4c , < * (git)
        cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*
    Create a notification for this product.
    handnot2 samly Affected: 8a5bb1b4a4753d05470da2036323477f63cfdf4c , < * (git)
        cpe:2.3:a:handnot2:samly:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-53424",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-08-21T19:41:30.269903Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-08-21T19:42:21.623Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Samly.Helper\u0027"
              ],
              "packageName": "samly",
              "packageURL": "pkg:hex/samly",
              "product": "samly",
              "programFiles": [
                "lib/samly/helper.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Samly.Helper\u0027:decode_idp_auth_resp/3"
                }
              ],
              "repo": "https://github.com/dropbox/samly",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "0.3.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Samly.Helper\u0027"
              ],
              "packageName": "dropbox/samly",
              "packageURL": "pkg:github/dropbox/samly",
              "product": "samly",
              "programFiles": [
                "lib/samly/helper.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Samly.Helper\u0027:decode_idp_auth_resp/3"
                }
              ],
              "repo": "https://github.com/dropbox/samly",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "8a5bb1b4a4753d05470da2036323477f63cfdf4c",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:handnot2:samly:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Samly.Helper\u0027"
              ],
              "packageName": "handnot2/samly",
              "packageURL": "pkg:github/handnot2/samly",
              "product": "samly",
              "programFiles": [
                "lib/samly/helper.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Samly.Helper\u0027:decode_idp_auth_resp/3"
                }
              ],
              "repo": "https://github.com/handnot2/samly",
              "vendor": "handnot2",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "8a5bb1b4a4753d05470da2036323477f63cfdf4c",
                  "versionType": "git"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "0.3.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:handnot2:samly:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "0.3.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "Mark Madsen"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eAuthentication Bypass by Capture-replay vulnerability in dropbox samly allows an attacker to authenticate as the subject of a captured SAML assertion by resubmitting it.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eSamly.Helper.decode_idp_auth_resp/3\u003c/code\u003e in \u003ccode\u003elib/samly/helper.ex\u003c/code\u003e calls \u003ccode\u003eesaml_sp:validate_assertion/2\u003c/code\u003e, whose default duplicate detector is a no-op. The \u003ccode\u003e/3\u003c/code\u003e arity accepting a \u003ccode\u003eDuplicateFun\u003c/code\u003e exists in \u003ccode\u003eesaml\u003c/code\u003e and implements the check, but Samly never calls it and offers no configuration to supply one, so the SAML 2.0 Web Browser SSO Profile requirement that a bearer assertion be used once is unenforced. An attacker holding a valid \u003ccode\u003eSAMLResponse\u003c/code\u003e obtained from the network, from browser history, or from logs can submit the identical bytes repeatedly until the assertion\u0027s \u003ccode\u003eNotOnOrAfter\u003c/code\u003e passes, each time establishing a session as the assertion\u0027s subject.\u003c/p\u003e\n\u003cp\u003eThis issue affects samly: from 0.3.0 onward.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Authentication Bypass by Capture-replay vulnerability in dropbox samly allows an attacker to authenticate as the subject of a captured SAML assertion by resubmitting it.\n\n`Samly.Helper.decode_idp_auth_resp/3` in `lib/samly/helper.ex` calls `esaml_sp:validate_assertion/2`, whose default duplicate detector is a no-op. The `/3` arity accepting a `DuplicateFun` exists in `esaml` and implements the check, but Samly never calls it and offers no configuration to supply one, so the SAML 2.0 Web Browser SSO Profile requirement that a bearer assertion be used once is unenforced. An attacker holding a valid `SAMLResponse` obtained from the network, from browser history, or from logs can submit the identical bytes repeatedly until the assertion\u0027s `NotOnOrAfter` passes, each time establishing a session as the assertion\u0027s subject.\n\nThis issue affects samly: from 0.3.0 onward."
                }
              ],
              "value": "Authentication Bypass by Capture-replay vulnerability in dropbox samly allows an attacker to authenticate as the subject of a captured SAML assertion by resubmitting it.\n\nSamly.Helper.decode_idp_auth_resp/3 in lib/samly/helper.ex calls esaml_sp:validate_assertion/2, whose default duplicate detector is a no-op. The /3 arity accepting a DuplicateFun exists in esaml and implements the check, but Samly never calls it and offers no configuration to supply one, so the SAML 2.0 Web Browser SSO Profile requirement that a bearer assertion be used once is unenforced. An attacker holding a valid SAMLResponse obtained from the network, from browser history, or from logs can submit the identical bytes repeatedly until the assertion\u0027s NotOnOrAfter passes, each time establishing a session as the assertion\u0027s subject.\n\nThis issue affects samly: from 0.3.0 onward."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-60",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-60 Reusing Session IDs (aka Session Replay)"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 9.1,
                "baseSeverity": "CRITICAL",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-294",
                  "description": "CWE-294 Authentication Bypass by Capture-replay",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-08-20T18:37:24.439Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "tags": [
                "related",
                "third-party-advisory"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-53424.html"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-53424"
            }
          ],
          "source": {
            "discovery": "UNKNOWN"
          },
          "title": "Missing one-time-use enforcement in Samly allows replay of SAML bearer assertions"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-53424",
        "datePublished": "2026-08-20T17:27:11.115Z",
        "dateReserved": "2026-06-09T11:01:47.529Z",
        "dateUpdated": "2026-08-21T19:42:21.623Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-53425 (GCVE-0-2026-53425)

    Vulnerability from cvelistv5 – Published: 2026-08-20 17:26 – Updated: 2026-08-21 19:50
    VLAI
    Title
    Missing InResponseTo validation in Samly allows acceptance of unsolicited SAML responses
    Summary
    Insufficient Verification of Data Authenticity vulnerability in dropbox samly allows an attacker to establish an authenticated session using a SAML response the service provider never requested. Samly.SPHandler.validate_authresp/3 in lib/samly/sp_handler.ex validates a SAML response for the SP-initiated flow by comparing only the RelayState value, the IdP identifier, and the presence of a target URL held in the session. It never compares SubjectConfirmationData/@InResponseTo against the ID of the AuthnRequest the service provider issued, and that request ID is never persisted, so no comparison is possible. SAML 2.0 Core section 4.1.4.3 requires a service provider to reject a response whose InResponseTo does not match a request it made. The underlying esaml library checks status, signature, recipient, audience, and staleness, but likewise never inspects InResponseTo, so nothing else closes the gap. Exploitation requires a validly signed assertion from the trusted IdP, which an attacker can obtain for their own account, and a RelayState matching the victim's session; the assertion signature itself remains intact, so this is not a signature-forgery issue. This issue affects samly: from 0.3.0 onward.
    SSVC
    Exploitation: none Automatable: no Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-08-21 19:50 UTC
    CWE
    • CWE-345 - Insufficient Verification of Data Authenticity
    Assigner
    EEF CNA under the mitre root
    CNA scorecard A 96/100 over 318 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    dropbox samly Affected: 0.3.0 , < * (semver)
        cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox samly Affected: 8a5bb1b4a4753d05470da2036323477f63cfdf4c , < * (git)
        cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*
    Create a notification for this product.
    handnot2 samly Affected: 8a5bb1b4a4753d05470da2036323477f63cfdf4c , < * (git)
        cpe:2.3:a:handnot2:samly:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-53425",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-08-21T19:50:24.245049Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-08-21T19:50:34.320Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://repo.hex.pm",
              "cpes": [
                "cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Samly.SPHandler\u0027"
              ],
              "packageName": "samly",
              "packageURL": "pkg:hex/samly",
              "product": "samly",
              "programFiles": [
                "lib/samly/sp_handler.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Samly.SPHandler\u0027:consume_signin_response/1"
                }
              ],
              "repo": "https://github.com/dropbox/samly",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "0.3.0",
                  "versionType": "semver"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Samly.SPHandler\u0027"
              ],
              "packageName": "dropbox/samly",
              "packageURL": "pkg:github/dropbox/samly",
              "product": "samly",
              "programFiles": [
                "lib/samly/sp_handler.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Samly.SPHandler\u0027:consume_signin_response/1"
                }
              ],
              "repo": "https://github.com/dropbox/samly",
              "vendor": "dropbox",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "8a5bb1b4a4753d05470da2036323477f63cfdf4c",
                  "versionType": "git"
                }
              ]
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:handnot2:samly:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "unaffected",
              "modules": [
                "\u0027Elixir.Samly.SPHandler\u0027"
              ],
              "packageName": "handnot2/samly",
              "packageURL": "pkg:github/handnot2/samly",
              "product": "samly",
              "programFiles": [
                "lib/samly/sp_handler.ex"
              ],
              "programRoutines": [
                {
                  "name": "\u0027Elixir.Samly.SPHandler\u0027:consume_signin_response/1"
                }
              ],
              "repo": "https://github.com/handnot2/samly",
              "vendor": "handnot2",
              "versions": [
                {
                  "lessThan": "*",
                  "status": "affected",
                  "version": "8a5bb1b4a4753d05470da2036323477f63cfdf4c",
                  "versionType": "git"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:dropbox:samly:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "0.3.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:handnot2:samly:*:*:*:*:*:*:*:*",
                      "versionStartIncluding": "0.3.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "reporter",
              "value": "Mark Madsen"
            },
            {
              "lang": "en",
              "type": "coordinator",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eInsufficient Verification of Data Authenticity vulnerability in dropbox samly allows an attacker to establish an authenticated session using a SAML response the service provider never requested.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eSamly.SPHandler.validate_authresp/3\u003c/code\u003e in \u003ccode\u003elib/samly/sp_handler.ex\u003c/code\u003e validates a SAML response for the SP-initiated flow by comparing only the \u003ccode\u003eRelayState\u003c/code\u003e value, the IdP identifier, and the presence of a target URL held in the session. It never compares \u003ccode\u003eSubjectConfirmationData/@InResponseTo\u003c/code\u003e against the ID of the \u003ccode\u003eAuthnRequest\u003c/code\u003e the service provider issued, and that request ID is never persisted, so no comparison is possible. SAML 2.0 Core section 4.1.4.3 requires a service provider to reject a response whose \u003ccode\u003eInResponseTo\u003c/code\u003e does not match a request it made. The underlying \u003ccode\u003eesaml\u003c/code\u003e library checks status, signature, recipient, audience, and staleness, but likewise never inspects \u003ccode\u003eInResponseTo\u003c/code\u003e, so nothing else closes the gap. Exploitation requires a validly signed assertion from the trusted IdP, which an attacker can obtain for their own account, and a \u003ccode\u003eRelayState\u003c/code\u003e matching the victim\u0027s session; the assertion signature itself remains intact, so this is not a signature-forgery issue.\u003c/p\u003e\n\u003cp\u003eThis issue affects samly: from 0.3.0 onward.\u003c/p\u003e"
                },
                {
                  "base64": false,
                  "type": "text/markdown",
                  "value": "Insufficient Verification of Data Authenticity vulnerability in dropbox samly allows an attacker to establish an authenticated session using a SAML response the service provider never requested.\n\n`Samly.SPHandler.validate_authresp/3` in `lib/samly/sp_handler.ex` validates a SAML response for the SP-initiated flow by comparing only the `RelayState` value, the IdP identifier, and the presence of a target URL held in the session. It never compares `SubjectConfirmationData/@InResponseTo` against the ID of the `AuthnRequest` the service provider issued, and that request ID is never persisted, so no comparison is possible. SAML 2.0 Core section 4.1.4.3 requires a service provider to reject a response whose `InResponseTo` does not match a request it made. The underlying `esaml` library checks status, signature, recipient, audience, and staleness, but likewise never inspects `InResponseTo`, so nothing else closes the gap. Exploitation requires a validly signed assertion from the trusted IdP, which an attacker can obtain for their own account, and a `RelayState` matching the victim\u0027s session; the assertion signature itself remains intact, so this is not a signature-forgery issue.\n\nThis issue affects samly: from 0.3.0 onward."
                }
              ],
              "value": "Insufficient Verification of Data Authenticity vulnerability in dropbox samly allows an attacker to establish an authenticated session using a SAML response the service provider never requested.\n\nSamly.SPHandler.validate_authresp/3 in lib/samly/sp_handler.ex validates a SAML response for the SP-initiated flow by comparing only the RelayState value, the IdP identifier, and the presence of a target URL held in the session. It never compares SubjectConfirmationData/@InResponseTo against the ID of the AuthnRequest the service provider issued, and that request ID is never persisted, so no comparison is possible. SAML 2.0 Core section 4.1.4.3 requires a service provider to reject a response whose InResponseTo does not match a request it made. The underlying esaml library checks status, signature, recipient, audience, and staleness, but likewise never inspects InResponseTo, so nothing else closes the gap. Exploitation requires a validly signed assertion from the trusted IdP, which an attacker can obtain for their own account, and a RelayState matching the victim\u0027s session; the assertion signature itself remains intact, so this is not a signature-forgery issue.\n\nThis issue affects samly: from 0.3.0 onward."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-62",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-62 Cross Site Request Forgery"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 7.6,
                "baseSeverity": "HIGH",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "PASSIVE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "HIGH",
                "vulnIntegrityImpact": "HIGH",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-345",
                  "description": "CWE-345 Insufficient Verification of Data Authenticity",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-08-20T18:38:13.727Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "tags": [
                "related",
                "third-party-advisory"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-53425.html"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-53425"
            }
          ],
          "source": {
            "discovery": "UNKNOWN"
          },
          "title": "Missing InResponseTo validation in Samly allows acceptance of unsolicited SAML responses"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-53425",
        "datePublished": "2026-08-20T17:26:35.537Z",
        "dateReserved": "2026-06-09T11:01:47.529Z",
        "dateUpdated": "2026-08-21T19:50:34.320Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-28809 (GCVE-0-2026-28809)

    Vulnerability from cvelistv5 – Published: 2026-03-23 10:09 – Updated: 2026-07-24 14:14
    VLAI
    Title
    XXE in esaml SAML library allows local file read and potential SSRF
    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.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-03-23 15:07 UTC
    CWE
    • CWE-611 - Improper Restriction of XML External Entity Reference
    Assigner
    EEF CNA under the mitre root
    CNA scorecard A 96/100 over 318 records in the last 180 days details
    Impacted products
    Vendor Product Version
    dropbox esaml     cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
        cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*
        cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    arekinath esaml     cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    handnot2 esaml     cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    dropbox esaml     cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Jump-App esaml Affected: deeb84378d5c82153b470e99d24f77c38afca14a , < bab85efde7c136911402a881ca55173759467a26 (git)
    Unaffected: bab85efde7c136911402a881ca55173759467a26 (git)
        cpe:2.3:a:jump-app:esaml:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-28809",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-03-23T15:07:17.488260Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-03-23T15:52:46.187Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*",
                "cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*",
                "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "affected",
              "packageName": "esaml",
              "packageURL": "pkg:hex/esaml",
              "product": "esaml",
              "vendor": "dropbox"
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "affected",
              "packageName": "arekinath/esaml",
              "packageURL": "pkg:github/arekinath/esaml",
              "product": "esaml",
              "repo": "https://github.com/arekinath/esaml.git",
              "vendor": "arekinath"
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "affected",
              "packageName": "handnot2/esaml",
              "packageURL": "pkg:github/handnot2/esaml",
              "product": "esaml",
              "repo": "https://github.com/handnot2/esaml.git",
              "vendor": "handnot2"
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "affected",
              "packageName": "dropbox/esaml",
              "packageURL": "pkg:github/dropbox/esaml",
              "product": "esaml",
              "repo": "https://github.com/dropbox/esaml.git",
              "vendor": "dropbox"
            },
            {
              "collectionURL": "https://github.com",
              "cpes": [
                "cpe:2.3:a:jump-app:esaml:*:*:*:*:*:*:*:*"
              ],
              "defaultStatus": "affected",
              "packageName": "Jump-App/esaml",
              "packageURL": "pkg:github/Jump-App/esaml",
              "product": "esaml",
              "repo": "https://github.com/Jump-App/esaml.git",
              "vendor": "Jump-App",
              "versions": [
                {
                  "lessThan": "bab85efde7c136911402a881ca55173759467a26",
                  "status": "affected",
                  "version": "deeb84378d5c82153b470e99d24f77c38afca14a",
                  "versionType": "git"
                },
                {
                  "status": "unaffected",
                  "version": "bab85efde7c136911402a881ca55173759467a26",
                  "versionType": "git"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "The application must use esaml to process SAML messages and run on Erlang/OTP versions before 27. Starting with OTP 27, \u003ctt\u003exmerl_scan\u003c/tt\u003e disables entity expansion by default, which mitigates this vulnerability."
                }
              ],
              "value": "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."
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:dropbox:esaml:*:*:*:*:*:*:*:*",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:arekinath:esaml:*:*:*:*:*:*:*:*",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:handnot2:esaml:*:*:*:*:*:*:*:*",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:jump-app:esaml:*:*:*:*:*:*:*:*",
                      "versionEndExcluding": "bab85efde7c136911402a881ca55173759467a26",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "AND"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Bryan Lynch"
            },
            {
              "lang": "en",
              "type": "analyst",
              "value": "Jonatan M\u00e4nnchen / EEF"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "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.\u003cp\u003eesaml parses attacker-controlled SAML messages using \u003ctt\u003exmerl_scan:string/2\u003c/tt\u003e 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.\u003c/p\u003e\u003cp\u003eThis issue affects all versions of esaml, including forks by arekinath, handnot2, and dropbox. Users running on Erlang/OTP\u0026nbsp;27 or later are not affected due to Xmerl defaulting to entities disabled.\u003c/p\u003e"
                }
              ],
              "value": "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.\n\nesaml 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.\n\nThis issue affects all versions of esaml, including forks by arekinath, handnot2, and dropbox. Users running on Erlang/OTP\u00a027 or later are not affected due to Xmerl defaulting to entities disabled."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-201",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-201 Serialized Data External Linking"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "PRESENT",
                "attackVector": "NETWORK",
                "baseScore": 6.3,
                "baseSeverity": "MEDIUM",
                "exploitMaturity": "NOT_DEFINED",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "LOW",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-611",
                  "description": "CWE-611 Improper Restriction of XML External Entity Reference",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-07-24T14:14:51.289Z",
            "orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
            "shortName": "EEF"
          },
          "references": [
            {
              "tags": [
                "third-party-advisory",
                "related"
              ],
              "url": "https://cna.erlef.org/cves/CVE-2026-28809.html"
            },
            {
              "tags": [
                "related"
              ],
              "url": "https://osv.dev/vulnerability/EEF-CVE-2026-28809"
            },
            {
              "tags": [
                "patch"
              ],
              "url": "https://github.com/Jump-App/esaml/commit/bab85efde7c136911402a881ca55173759467a26"
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "XXE in esaml SAML library allows local file read and potential SSRF",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "Upgrade to Erlang/OTP 27 or later. Starting with OTP 27, \u003ctt\u003exmerl_scan\u003c/tt\u003e disables entity expansion by default, which mitigates this vulnerability without changes to esaml."
                }
              ],
              "value": "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."
            }
          ],
          "x_generator": {
            "engine": "Vulnogram 1.0.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
        "assignerShortName": "EEF",
        "cveId": "CVE-2026-28809",
        "datePublished": "2026-03-23T10:09:29.233Z",
        "dateReserved": "2026-03-03T14:40:00.590Z",
        "dateUpdated": "2026-07-24T14:14:51.289Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2024-5924 (GCVE-0-2024-5924)

    Vulnerability from cvelistv5 – Published: 2024-06-13 19:40 – Updated: 2024-08-01 21:25
    VLAI
    Title
    Dropbox Desktop Folder Sharing Mark-of-the-Web Bypass Vulnerability
    Summary
    Dropbox Desktop Folder Sharing Mark-of-the-Web Bypass Vulnerability. This vulnerability allows remote attackers to bypass the Mark-of-the-Web protection mechanism on affected installations of Dropbox Desktop. User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file. The specific flaw exists within the handling of shared folders. When syncing files from a shared folder belonging to an untrusted account, the Dropbox desktop application does not apply the Mark-of-the-Web to the local files. An attacker can leverage this vulnerability to execute arbitrary code in the context of the current user. Was ZDI-CAN-23991.
    SSVC
    Exploitation: none Automatable: no Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2024-07-24 00:00 UTC
    CWE
    • CWE-693 - Protection Mechanism Failure
    Assigner
    zdi CNA under the mitre root
    CNA scorecard C 73/100 over 121 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    Dropbox Dropbox Desktop Affected: 198.4.7615
    Create a notification for this product.
    dropbox dropbox Affected: 198.4.7615
        cpe:2.3:a:dropbox:dropbox:198.4.7615:*:*:*:*:*:*:*
    Create a notification for this product.
    Date Public
    2024-06-13 19:39
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "affected": [
              {
                "cpes": [
                  "cpe:2.3:a:dropbox:dropbox:198.4.7615:*:*:*:*:*:*:*"
                ],
                "defaultStatus": "unknown",
                "product": "dropbox",
                "vendor": "dropbox",
                "versions": [
                  {
                    "status": "affected",
                    "version": "198.4.7615"
                  }
                ]
              }
            ],
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2024-5924",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2024-07-24T00:00:00+00:00",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2024-07-25T03:55:24.677Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          },
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-01T21:25:03.164Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "name": "ZDI-24-677",
                "tags": [
                  "x_research-advisory",
                  "x_transferred"
                ],
                "url": "https://www.zerodayinitiative.com/advisories/ZDI-24-677/"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "defaultStatus": "unknown",
              "product": "Dropbox Desktop",
              "vendor": "Dropbox",
              "versions": [
                {
                  "status": "affected",
                  "version": "198.4.7615"
                }
              ]
            }
          ],
          "dateAssigned": "2024-06-12T19:05:13.665Z",
          "datePublic": "2024-06-13T19:39:24.542Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "Dropbox Desktop Folder Sharing Mark-of-the-Web Bypass Vulnerability. This vulnerability allows remote attackers to bypass the Mark-of-the-Web protection mechanism on affected installations of Dropbox Desktop. User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file.\n\nThe specific flaw exists within the handling of shared folders. When syncing files from a shared folder belonging to an untrusted account, the Dropbox desktop application does not apply the Mark-of-the-Web to the local files. An attacker can leverage this vulnerability to execute arbitrary code in the context of the current user. Was ZDI-CAN-23991."
            }
          ],
          "metrics": [
            {
              "cvssV3_0": {
                "baseScore": 8.8,
                "baseSeverity": "HIGH",
                "vectorString": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H",
                "version": "3.0"
              },
              "format": "CVSS"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-693",
                  "description": "CWE-693: Protection Mechanism Failure",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2024-06-13T19:40:13.179Z",
            "orgId": "99f1926a-a320-47d8-bbb5-42feb611262e",
            "shortName": "zdi"
          },
          "references": [
            {
              "name": "ZDI-24-677",
              "tags": [
                "x_research-advisory"
              ],
              "url": "https://www.zerodayinitiative.com/advisories/ZDI-24-677/"
            }
          ],
          "source": {
            "lang": "en",
            "value": "Peter Girnus (@gothburz)"
          },
          "title": "Dropbox Desktop Folder Sharing Mark-of-the-Web Bypass Vulnerability"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "99f1926a-a320-47d8-bbb5-42feb611262e",
        "assignerShortName": "zdi",
        "cveId": "CVE-2024-5924",
        "datePublished": "2024-06-13T19:40:13.179Z",
        "dateReserved": "2024-06-12T19:05:13.638Z",
        "dateUpdated": "2024-08-01T21:25:03.164Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }

    CVE-2024-25718 (GCVE-0-2024-25718)

    Vulnerability from cvelistv5 – Published: 2024-02-11 00:00 – Updated: 2025-04-24 15:45
    VLAI
    Summary
    In the Samly package before 1.4.0 for Elixir, Samly.State.Store.get_assertion/3 can return an expired session, which interferes with access control because Samly.AuthHandler uses a cached session and does not replace it, even after expiry.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: total
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2024-08-01 18:06 UTC
    CWE
    • n/a
    • CWE-400 - Uncontrolled Resource Consumption
    Assigner
    mitre CNA under the mitre root
    CNA scorecard E 29/100 over 2368 records in the last 180 days details
    Impacted products
    Vendor Product Version
    samly elixr Affected: 0 , < 1.4.0 (custom)
        cpe:2.3:a:samly:elixr:*:*:*:*:*:*:*:*
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "affected": [
              {
                "cpes": [
                  "cpe:2.3:a:samly:elixr:*:*:*:*:*:*:*:*"
                ],
                "defaultStatus": "unknown",
                "product": "elixr",
                "vendor": "samly",
                "versions": [
                  {
                    "lessThan": "1.4.0",
                    "status": "affected",
                    "version": "0",
                    "versionType": "custom"
                  }
                ]
              }
            ],
            "metrics": [
              {
                "cvssV3_1": {
                  "attackComplexity": "LOW",
                  "attackVector": "NETWORK",
                  "availabilityImpact": "NONE",
                  "baseScore": 9.1,
                  "baseSeverity": "CRITICAL",
                  "confidentialityImpact": "HIGH",
                  "integrityImpact": "HIGH",
                  "privilegesRequired": "NONE",
                  "scope": "UNCHANGED",
                  "userInteraction": "NONE",
                  "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
                  "version": "3.1"
                }
              },
              {
                "other": {
                  "content": {
                    "id": "CVE-2024-25718",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "total"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2024-08-01T18:06:21.342589Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "problemTypes": [
              {
                "descriptions": [
                  {
                    "cweId": "CWE-400",
                    "description": "CWE-400 Uncontrolled Resource Consumption",
                    "lang": "en",
                    "type": "CWE"
                  }
                ]
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2025-04-24T15:45:22.426Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          },
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-01T23:52:05.515Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://hex.pm/packages/samly"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://github.com/handnot2/samly"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/samly"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://diff.hex.pm/diff/samly/1.3.0..1.4.0"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/samly/pull/13"
              },
              {
                "tags": [
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/samly/pull/13/commits/812b5c3ad076dc9c9334c1a560c8e6470607d1eb"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "n/a",
              "vendor": "n/a",
              "versions": [
                {
                  "status": "affected",
                  "version": "n/a"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "In the Samly package before 1.4.0 for Elixir, Samly.State.Store.get_assertion/3 can return an expired session, which interferes with access control because Samly.AuthHandler uses a cached session and does not replace it, even after expiry."
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "description": "n/a",
                  "lang": "en",
                  "type": "text"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2024-02-11T04:21:13.844Z",
            "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
            "shortName": "mitre"
          },
          "references": [
            {
              "url": "https://hex.pm/packages/samly"
            },
            {
              "url": "https://github.com/handnot2/samly"
            },
            {
              "url": "https://github.com/dropbox/samly"
            },
            {
              "url": "https://diff.hex.pm/diff/samly/1.3.0..1.4.0"
            },
            {
              "url": "https://github.com/dropbox/samly/pull/13"
            },
            {
              "url": "https://github.com/dropbox/samly/pull/13/commits/812b5c3ad076dc9c9334c1a560c8e6470607d1eb"
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
        "assignerShortName": "mitre",
        "cveId": "CVE-2024-25718",
        "datePublished": "2024-02-11T00:00:00.000Z",
        "dateReserved": "2024-02-11T00:00:00.000Z",
        "dateUpdated": "2025-04-24T15:45:22.426Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }

    CVE-2022-4768 (GCVE-0-2022-4768)

    Vulnerability from cvelistv5 – Published: 2022-12-27 22:33 – Updated: 2024-08-03 01:48
    VLAI
    Title
    Dropbox merou SSH Public Key public_key.py add_public_key injection
    Summary
    A vulnerability was found in Dropbox merou. It has been classified as critical. Affected is the function add_public_key of the file grouper/public_key.py of the component SSH Public Key Handler. The manipulation of the argument public_key_str leads to injection. It is possible to launch the attack remotely. The name of the patch is d93087973afa26bc0a2d0a5eb5c0fde748bdd107. It is recommended to apply a patch to fix this issue. VDB-216906 is the identifier assigned to this vulnerability.
    CWE
    Assigner
    VulDB CNA under the mitre root
    CNA scorecard B 82/100 over 3939 records in the last 180 days details
    References
    Impacted products
    Vendor Product Version
    Dropbox merou Affected: n/a
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-03T01:48:40.389Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "vdb-entry",
                  "technical-description",
                  "x_transferred"
                ],
                "url": "https://vuldb.com/?id.216906"
              },
              {
                "tags": [
                  "signature",
                  "permissions-required",
                  "x_transferred"
                ],
                "url": "https://vuldb.com/?ctiid.216906"
              },
              {
                "tags": [
                  "issue-tracking",
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/merou/pull/673"
              },
              {
                "tags": [
                  "patch",
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/merou/commit/d93087973afa26bc0a2d0a5eb5c0fde748bdd107"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "modules": [
                "SSH Public Key Handler"
              ],
              "product": "merou",
              "vendor": "Dropbox",
              "versions": [
                {
                  "status": "affected",
                  "version": "n/a"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "A vulnerability was found in Dropbox merou. It has been classified as critical. Affected is the function add_public_key of the file grouper/public_key.py of the component SSH Public Key Handler. The manipulation of the argument public_key_str leads to injection. It is possible to launch the attack remotely. The name of the patch is d93087973afa26bc0a2d0a5eb5c0fde748bdd107. It is recommended to apply a patch to fix this issue. VDB-216906 is the identifier assigned to this vulnerability."
            },
            {
              "lang": "de",
              "value": "Es wurde eine kritische Schwachstelle in Dropbox merou ausgemacht. Hiervon betroffen ist die Funktion add_public_key der Datei grouper/public_key.py der Komponente SSH Public Key Handler. Durch Manipulieren des Arguments public_key_str mit unbekannten Daten kann eine injection-Schwachstelle ausgenutzt werden. Der Angriff kann \u00fcber das Netzwerk angegangen werden. Der Patch wird als d93087973afa26bc0a2d0a5eb5c0fde748bdd107 bezeichnet. Als bestm\u00f6gliche Massnahme wird Patching empfohlen."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "baseScore": 6.3,
                "baseSeverity": "MEDIUM",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L",
                "version": "3.1"
              }
            },
            {
              "cvssV3_0": {
                "baseScore": 6.3,
                "baseSeverity": "MEDIUM",
                "vectorString": "CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L",
                "version": "3.0"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-74",
                  "description": "CWE-74 Injection",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2022-12-27T22:33:35.180Z",
            "orgId": "1af790b2-7ee1-4545-860a-a788eba489b5",
            "shortName": "VulDB"
          },
          "references": [
            {
              "tags": [
                "vdb-entry",
                "technical-description"
              ],
              "url": "https://vuldb.com/?id.216906"
            },
            {
              "tags": [
                "signature",
                "permissions-required"
              ],
              "url": "https://vuldb.com/?ctiid.216906"
            },
            {
              "tags": [
                "issue-tracking"
              ],
              "url": "https://github.com/dropbox/merou/pull/673"
            },
            {
              "tags": [
                "patch"
              ],
              "url": "https://github.com/dropbox/merou/commit/d93087973afa26bc0a2d0a5eb5c0fde748bdd107"
            }
          ],
          "timeline": [
            {
              "lang": "en",
              "time": "2022-12-27T00:00:00.000Z",
              "value": "Advisory disclosed"
            },
            {
              "lang": "en",
              "time": "2022-12-27T01:00:00.000Z",
              "value": "VulDB entry created"
            },
            {
              "lang": "en",
              "time": "2022-12-27T23:38:30.000Z",
              "value": "VulDB last update"
            }
          ],
          "title": "Dropbox merou SSH Public Key public_key.py add_public_key injection"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "1af790b2-7ee1-4545-860a-a788eba489b5",
        "assignerShortName": "VulDB",
        "cveId": "CVE-2022-4768",
        "datePublished": "2022-12-27T22:33:35.180Z",
        "dateReserved": "2022-12-27T22:32:12.688Z",
        "dateUpdated": "2024-08-03T01:48:40.389Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }

    CVE-2022-26181 (GCVE-0-2022-26181)

    Vulnerability from cvelistv5 – Published: 2022-02-28 18:33 – Updated: 2024-08-03 04:56
    VLAI
    Summary
    Dropbox Lepton v1.2.1-185-g2a08b77 was discovered to contain a heap-buffer-overflow in the function aligned_dealloc():src/lepton/bitops.cc:108.
    Severity
    No CVSS data available.
    CWE
    • n/a
    Assigner
    mitre CNA under the mitre root
    CNA scorecard E 29/100 over 2368 records in the last 180 days details
    References
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-03T04:56:37.908Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/lepton/issues/154"
              },
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/lepton"
              },
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://drive.google.com/file/d/1bJlHozO37c5NZ1wI0NBWh0yHHyTcfaQL/view?usp=sharing"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "n/a",
              "vendor": "n/a",
              "versions": [
                {
                  "status": "affected",
                  "version": "n/a"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Dropbox Lepton v1.2.1-185-g2a08b77 was discovered to contain a heap-buffer-overflow in the function aligned_dealloc():src/lepton/bitops.cc:108."
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "description": "n/a",
                  "lang": "en",
                  "type": "text"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2022-02-28T18:33:50.000Z",
            "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
            "shortName": "mitre"
          },
          "references": [
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/dropbox/lepton/issues/154"
            },
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/dropbox/lepton"
            },
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://drive.google.com/file/d/1bJlHozO37c5NZ1wI0NBWh0yHHyTcfaQL/view?usp=sharing"
            }
          ],
          "x_legacyV4Record": {
            "CVE_data_meta": {
              "ASSIGNER": "cve@mitre.org",
              "ID": "CVE-2022-26181",
              "STATE": "PUBLIC"
            },
            "affects": {
              "vendor": {
                "vendor_data": [
                  {
                    "product": {
                      "product_data": [
                        {
                          "product_name": "n/a",
                          "version": {
                            "version_data": [
                              {
                                "version_value": "n/a"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "vendor_name": "n/a"
                  }
                ]
              }
            },
            "data_format": "MITRE",
            "data_type": "CVE",
            "data_version": "4.0",
            "description": {
              "description_data": [
                {
                  "lang": "eng",
                  "value": "Dropbox Lepton v1.2.1-185-g2a08b77 was discovered to contain a heap-buffer-overflow in the function aligned_dealloc():src/lepton/bitops.cc:108."
                }
              ]
            },
            "problemtype": {
              "problemtype_data": [
                {
                  "description": [
                    {
                      "lang": "eng",
                      "value": "n/a"
                    }
                  ]
                }
              ]
            },
            "references": {
              "reference_data": [
                {
                  "name": "https://github.com/dropbox/lepton/issues/154",
                  "refsource": "MISC",
                  "url": "https://github.com/dropbox/lepton/issues/154"
                },
                {
                  "name": "https://github.com/dropbox/lepton",
                  "refsource": "MISC",
                  "url": "https://github.com/dropbox/lepton"
                },
                {
                  "name": "https://drive.google.com/file/d/1bJlHozO37c5NZ1wI0NBWh0yHHyTcfaQL/view?usp=sharing",
                  "refsource": "MISC",
                  "url": "https://drive.google.com/file/d/1bJlHozO37c5NZ1wI0NBWh0yHHyTcfaQL/view?usp=sharing"
                }
              ]
            }
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
        "assignerShortName": "mitre",
        "cveId": "CVE-2022-26181",
        "datePublished": "2022-02-28T18:33:50.000Z",
        "dateReserved": "2022-02-28T00:00:00.000Z",
        "dateUpdated": "2024-08-03T04:56:37.908Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }

    CVE-2019-12171 (GCVE-0-2019-12171)

    Vulnerability from cvelistv5 – Published: 2019-07-08 12:44 – Updated: 2024-08-04 23:10
    VLAI
    Summary
    Dropbox.exe (and QtWebEngineProcess.exe in the Web Helper) in the Dropbox desktop application 71.4.108.0 store cleartext credentials in memory upon successful login or new account creation. These are not securely freed in the running process.
    Severity
    No CVSS data available.
    CWE
    • n/a
    Assigner
    mitre CNA under the mitre root
    CNA scorecard E 29/100 over 2368 records in the last 180 days details
    References
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-04T23:10:30.839Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://drive.google.com/open?id=1msz6pb08crPC0VT7s_Z_KTsKm9CbLJEXNsmRwzoNLy8"
              },
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://drive.google.com/open?id=1DCGurwRTu0HsUpTglVR0jgItZNqqDm_5"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "n/a",
              "vendor": "n/a",
              "versions": [
                {
                  "status": "affected",
                  "version": "n/a"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Dropbox.exe (and QtWebEngineProcess.exe in the Web Helper) in the Dropbox desktop application 71.4.108.0 store cleartext credentials in memory upon successful login or new account creation. These are not securely freed in the running process."
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "description": "n/a",
                  "lang": "en",
                  "type": "text"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2019-07-08T12:44:11.000Z",
            "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
            "shortName": "mitre"
          },
          "references": [
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://drive.google.com/open?id=1msz6pb08crPC0VT7s_Z_KTsKm9CbLJEXNsmRwzoNLy8"
            },
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://drive.google.com/open?id=1DCGurwRTu0HsUpTglVR0jgItZNqqDm_5"
            }
          ],
          "x_legacyV4Record": {
            "CVE_data_meta": {
              "ASSIGNER": "cve@mitre.org",
              "ID": "CVE-2019-12171",
              "STATE": "PUBLIC"
            },
            "affects": {
              "vendor": {
                "vendor_data": [
                  {
                    "product": {
                      "product_data": [
                        {
                          "product_name": "n/a",
                          "version": {
                            "version_data": [
                              {
                                "version_value": "n/a"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "vendor_name": "n/a"
                  }
                ]
              }
            },
            "data_format": "MITRE",
            "data_type": "CVE",
            "data_version": "4.0",
            "description": {
              "description_data": [
                {
                  "lang": "eng",
                  "value": "Dropbox.exe (and QtWebEngineProcess.exe in the Web Helper) in the Dropbox desktop application 71.4.108.0 store cleartext credentials in memory upon successful login or new account creation. These are not securely freed in the running process."
                }
              ]
            },
            "problemtype": {
              "problemtype_data": [
                {
                  "description": [
                    {
                      "lang": "eng",
                      "value": "n/a"
                    }
                  ]
                }
              ]
            },
            "references": {
              "reference_data": [
                {
                  "name": "https://drive.google.com/open?id=1msz6pb08crPC0VT7s_Z_KTsKm9CbLJEXNsmRwzoNLy8",
                  "refsource": "MISC",
                  "url": "https://drive.google.com/open?id=1msz6pb08crPC0VT7s_Z_KTsKm9CbLJEXNsmRwzoNLy8"
                },
                {
                  "name": "https://drive.google.com/open?id=1DCGurwRTu0HsUpTglVR0jgItZNqqDm_5",
                  "refsource": "MISC",
                  "url": "https://drive.google.com/open?id=1DCGurwRTu0HsUpTglVR0jgItZNqqDm_5"
                }
              ]
            }
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
        "assignerShortName": "mitre",
        "cveId": "CVE-2019-12171",
        "datePublished": "2019-07-08T12:44:11.000Z",
        "dateReserved": "2019-05-17T00:00:00.000Z",
        "dateUpdated": "2024-08-04T23:10:30.839Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }

    CVE-2018-20820 (GCVE-0-2018-20820)

    Vulnerability from cvelistv5 – Published: 2019-04-23 13:53 – Updated: 2024-08-05 12:12
    VLAI
    Summary
    read_ujpg in jpgcoder.cc in Dropbox Lepton 1.2.1 allows attackers to cause a denial-of-service (application runtime crash because of an integer overflow) via a crafted file.
    Severity
    No CVSS data available.
    CWE
    • n/a
    Assigner
    mitre CNA under the mitre root
    CNA scorecard E 29/100 over 2368 records in the last 180 days details
    References
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-05T12:12:27.362Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/lepton/issues/111"
              },
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/lepton/commit/6a5ceefac1162783fffd9506a3de39c85c725761"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "n/a",
              "vendor": "n/a",
              "versions": [
                {
                  "status": "affected",
                  "version": "n/a"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "read_ujpg in jpgcoder.cc in Dropbox Lepton 1.2.1 allows attackers to cause a denial-of-service (application runtime crash because of an integer overflow) via a crafted file."
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "description": "n/a",
                  "lang": "en",
                  "type": "text"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2019-04-23T13:53:49.000Z",
            "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
            "shortName": "mitre"
          },
          "references": [
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/dropbox/lepton/issues/111"
            },
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/dropbox/lepton/commit/6a5ceefac1162783fffd9506a3de39c85c725761"
            }
          ],
          "x_legacyV4Record": {
            "CVE_data_meta": {
              "ASSIGNER": "cve@mitre.org",
              "ID": "CVE-2018-20820",
              "STATE": "PUBLIC"
            },
            "affects": {
              "vendor": {
                "vendor_data": [
                  {
                    "product": {
                      "product_data": [
                        {
                          "product_name": "n/a",
                          "version": {
                            "version_data": [
                              {
                                "version_value": "n/a"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "vendor_name": "n/a"
                  }
                ]
              }
            },
            "data_format": "MITRE",
            "data_type": "CVE",
            "data_version": "4.0",
            "description": {
              "description_data": [
                {
                  "lang": "eng",
                  "value": "read_ujpg in jpgcoder.cc in Dropbox Lepton 1.2.1 allows attackers to cause a denial-of-service (application runtime crash because of an integer overflow) via a crafted file."
                }
              ]
            },
            "problemtype": {
              "problemtype_data": [
                {
                  "description": [
                    {
                      "lang": "eng",
                      "value": "n/a"
                    }
                  ]
                }
              ]
            },
            "references": {
              "reference_data": [
                {
                  "name": "https://github.com/dropbox/lepton/issues/111",
                  "refsource": "MISC",
                  "url": "https://github.com/dropbox/lepton/issues/111"
                },
                {
                  "name": "https://github.com/dropbox/lepton/commit/6a5ceefac1162783fffd9506a3de39c85c725761",
                  "refsource": "MISC",
                  "url": "https://github.com/dropbox/lepton/commit/6a5ceefac1162783fffd9506a3de39c85c725761"
                }
              ]
            }
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
        "assignerShortName": "mitre",
        "cveId": "CVE-2018-20820",
        "datePublished": "2019-04-23T13:53:49.000Z",
        "dateReserved": "2019-04-23T00:00:00.000Z",
        "dateUpdated": "2024-08-05T12:12:27.362Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }

    CVE-2018-20819 (GCVE-0-2018-20819)

    Vulnerability from cvelistv5 – Published: 2019-04-23 13:53 – Updated: 2024-08-05 12:12
    VLAI
    Summary
    io/ZlibCompression.cc in the decompression component in Dropbox Lepton 1.2.1 allows attackers to cause a denial of service (heap-based buffer overflow and application crash) or possibly have unspecified other impact by crafting a jpg image file. The root cause is a missing check of header payloads that may be (incorrectly) larger than the maximum file size.
    Severity
    No CVSS data available.
    CWE
    • n/a
    Assigner
    mitre CNA under the mitre root
    CNA scorecard E 29/100 over 2368 records in the last 180 days details
    References
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-05T12:12:27.304Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://github.com/dropbox/lepton/issues/112"
              }
            ],
            "title": "CVE Program Container"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "n/a",
              "vendor": "n/a",
              "versions": [
                {
                  "status": "affected",
                  "version": "n/a"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "io/ZlibCompression.cc in the decompression component in Dropbox Lepton 1.2.1 allows attackers to cause a denial of service (heap-based buffer overflow and application crash) or possibly have unspecified other impact by crafting a jpg image file. The root cause is a missing check of header payloads that may be (incorrectly) larger than the maximum file size."
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "description": "n/a",
                  "lang": "en",
                  "type": "text"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2019-04-23T13:53:36.000Z",
            "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
            "shortName": "mitre"
          },
          "references": [
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/dropbox/lepton/issues/112"
            }
          ],
          "x_legacyV4Record": {
            "CVE_data_meta": {
              "ASSIGNER": "cve@mitre.org",
              "ID": "CVE-2018-20819",
              "STATE": "PUBLIC"
            },
            "affects": {
              "vendor": {
                "vendor_data": [
                  {
                    "product": {
                      "product_data": [
                        {
                          "product_name": "n/a",
                          "version": {
                            "version_data": [
                              {
                                "version_value": "n/a"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "vendor_name": "n/a"
                  }
                ]
              }
            },
            "data_format": "MITRE",
            "data_type": "CVE",
            "data_version": "4.0",
            "description": {
              "description_data": [
                {
                  "lang": "eng",
                  "value": "io/ZlibCompression.cc in the decompression component in Dropbox Lepton 1.2.1 allows attackers to cause a denial of service (heap-based buffer overflow and application crash) or possibly have unspecified other impact by crafting a jpg image file. The root cause is a missing check of header payloads that may be (incorrectly) larger than the maximum file size."
                }
              ]
            },
            "problemtype": {
              "problemtype_data": [
                {
                  "description": [
                    {
                      "lang": "eng",
                      "value": "n/a"
                    }
                  ]
                }
              ]
            },
            "references": {
              "reference_data": [
                {
                  "name": "https://github.com/dropbox/lepton/issues/112",
                  "refsource": "MISC",
                  "url": "https://github.com/dropbox/lepton/issues/112"
                }
              ]
            }
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
        "assignerShortName": "mitre",
        "cveId": "CVE-2018-20819",
        "datePublished": "2019-04-23T13:53:36.000Z",
        "dateReserved": "2019-04-23T00:00:00.000Z",
        "dateUpdated": "2024-08-05T12:12:27.304Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }

    CVE-2018-12445 (GCVE-0-2018-12445)

    Vulnerability from cvelistv5 – Published: 2018-06-20 12:00 – Updated: 2024-11-14 20:43 Disputed
    VLAI
    Summary
    An issue was discovered in the com.dropbox.android application 98.2.2 for Android. The FingerprintManager class for Biometric validation allows authentication bypass through the callback method from onAuthenticationFailed to onAuthenticationSucceeded with null, because the fingerprint API in conjunction with the Android keyGenerator class is not implemented. In other words, an attacker could authenticate with an arbitrary fingerprint. NOTE: the vendor indicates that this is not an attack of interest within the context of their threat model, which excludes Android devices on which rooting has occurred
    Severity
    No CVSS data available.
    SSVC
    Exploitation: none Automatable: no Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2024-11-14 20:42 UTC
    CWE
    • n/a
    Assigner
    mitre CNA under the mitre root
    CNA scorecard E 29/100 over 2368 records in the last 180 days details
    References
    Date Public
    2018-06-20 00:00
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "providerMetadata": {
              "dateUpdated": "2024-08-05T08:38:06.312Z",
              "orgId": "af854a3a-2127-422b-91ae-364da2661108",
              "shortName": "CVE"
            },
            "references": [
              {
                "tags": [
                  "x_refsource_MISC",
                  "x_transferred"
                ],
                "url": "https://gist.github.com/tanprathan/0b63b1868307c732190c2ad3bd1791c7"
              }
            ],
            "title": "CVE Program Container"
          },
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2018-12445",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2024-11-14T20:42:18.620957Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2024-11-14T20:43:56.782Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "product": "n/a",
              "vendor": "n/a",
              "versions": [
                {
                  "status": "affected",
                  "version": "n/a"
                }
              ]
            }
          ],
          "datePublic": "2018-06-20T00:00:00.000Z",
          "descriptions": [
            {
              "lang": "en",
              "value": "An issue was discovered in the com.dropbox.android application 98.2.2 for Android. The FingerprintManager class for Biometric validation allows authentication bypass through the callback method from onAuthenticationFailed to onAuthenticationSucceeded with null, because the fingerprint API in conjunction with the Android keyGenerator class is not implemented. In other words, an attacker could authenticate with an arbitrary fingerprint. NOTE: the vendor indicates that this is not an attack of interest within the context of their threat model, which excludes Android devices on which rooting has occurred"
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "description": "n/a",
                  "lang": "en",
                  "type": "text"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2018-06-20T11:57:01.000Z",
            "orgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
            "shortName": "mitre"
          },
          "references": [
            {
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://gist.github.com/tanprathan/0b63b1868307c732190c2ad3bd1791c7"
            }
          ],
          "tags": [
            "disputed"
          ],
          "x_legacyV4Record": {
            "CVE_data_meta": {
              "ASSIGNER": "cve@mitre.org",
              "ID": "CVE-2018-12445",
              "STATE": "PUBLIC"
            },
            "affects": {
              "vendor": {
                "vendor_data": [
                  {
                    "product": {
                      "product_data": [
                        {
                          "product_name": "n/a",
                          "version": {
                            "version_data": [
                              {
                                "version_value": "n/a"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "vendor_name": "n/a"
                  }
                ]
              }
            },
            "data_format": "MITRE",
            "data_type": "CVE",
            "data_version": "4.0",
            "description": {
              "description_data": [
                {
                  "lang": "eng",
                  "value": "** DISPUTED ** An issue was discovered in the com.dropbox.android application 98.2.2 for Android. The FingerprintManager class for Biometric validation allows authentication bypass through the callback method from onAuthenticationFailed to onAuthenticationSucceeded with null, because the fingerprint API in conjunction with the Android keyGenerator class is not implemented. In other words, an attacker could authenticate with an arbitrary fingerprint. NOTE: the vendor indicates that this is not an attack of interest within the context of their threat model, which excludes Android devices on which rooting has occurred."
                }
              ]
            },
            "problemtype": {
              "problemtype_data": [
                {
                  "description": [
                    {
                      "lang": "eng",
                      "value": "n/a"
                    }
                  ]
                }
              ]
            },
            "references": {
              "reference_data": [
                {
                  "name": "https://gist.github.com/tanprathan/0b63b1868307c732190c2ad3bd1791c7",
                  "refsource": "MISC",
                  "url": "https://gist.github.com/tanprathan/0b63b1868307c732190c2ad3bd1791c7"
                }
              ]
            }
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "8254265b-2729-46b6-b9e3-3dfca2d5bfca",
        "assignerShortName": "mitre",
        "cveId": "CVE-2018-12445",
        "datePublished": "2018-06-20T12:00:00.000Z",
        "dateReserved": "2018-06-15T00:00:00.000Z",
        "dateUpdated": "2024-11-14T20:43:56.782Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.1"
    }