← Back to CVE Explorer

CVE-2026-55789

Full vulnerability record from the local CVENow database.

Description

Logto is the modern, open-source auth infrastructure for SaaS and AI apps. Prior to 1.41.0, Logto's self-hosted SAML application IdP built the signed SAML response and assertion by string-substituting user-controlled profile attributes such as name, email, and custom attribute-mapping values into element-text placeholders of a SAML XML template using samlify 2.10.0, which left those placeholders unescaped. An authenticated low-privilege user could place XML markup in a profile attribute so Logto signed a forged SAML attribute, such as an arbitrary role, allowing privilege escalation at relying Service Providers that authorize on SAML attributes. This issue is fixed in version 1.41.0.

Severity
HIGH
CVSS score
8.5 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-07-10 20:16:47.933000
Last modified
2026-10-25 15:10:00.147000
View original CVE JSON
{
  "id": "CVE-2026-55789",
  "sourceIdentifier": "[email protected]",
  "published": "2026-07-10T20:16:47.933",
  "lastModified": "2026-10-25T15:10:00.147",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Logto is the modern, open-source auth infrastructure for SaaS and AI apps. Prior to 1.41.0, Logto's self-hosted SAML application IdP built the signed SAML response and assertion by string-substituting user-controlled profile attributes such as name, email, and custom attribute-mapping values into element-text placeholders of a SAML XML template using samlify 2.10.0, which left those placeholders unescaped. An authenticated low-privilege user could place XML markup in a profile attribute so Logto signed a forged SAML attribute, such as an arbitrary role, allowing privilege escalation at relying Service Providers that authorize on SAML attributes. This issue is fixed in version 1.41.0."
    },
    {
      "lang": "es",
      "value": "Logto es la moderna infraestructura de autenticación de código abierto para aplicaciones SaaS y de IA. Antes de la versión 1.41.0, el IdP de aplicación SAML autoalojado de Logto construía la respuesta y aserción SAML firmadas sustituyendo cadenas de atributos de perfil controlados por el usuario, como nombre, correo electrónico y valores de mapeo de atributos personalizados, en marcadores de posición de texto de elementos de una plantilla XML SAML utilizando samlify 2.10.0, lo que dejaba esos marcadores de posición sin escapar. Un usuario autenticado con bajos privilegios podía insertar marcado XML en un atributo de perfil, de modo que Logto firmaba un atributo SAML falsificado, como un rol arbitrario, permitiendo la escalada de privilegios en los Proveedores de Servicios de confianza que autorizan basándose en atributos SAML. Este problema está solucionado en la versión 1.41.0."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "logto-io",
          "product": "logto",
          "versions": [
            {
              "version": "< 1.41.0",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:H/A:N",
          "baseScore": 8.5,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "CHANGED",
          "confidentialityImpact": "LOW",
          "integrityImpact": "HIGH",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 3.1,
        "impactScore": 4.7
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-07-13T18:16:09.500167Z",
          "id": "CVE-2026-55789",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-91"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/logto-io/logto/commit/9097054860f0d638d90778d3dcde2ba050b844b6",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/logto-io/logto/pull/9107",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/logto-io/logto/releases/tag/v1.41.0",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/logto-io/logto/security/advisories/GHSA-vfpw-vq44-4p63",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/logto-io/logto/security/advisories/GHSA-vfpw-vq44-4p63",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
    }
  ]
}