« Volver al listado

CVE-2026-2452

Estado: AnalizadaAlta (7.5)—

Emails sent by pretix can utilize placeholders that will be filled with customer data. For example, when {name} is used in an email template, it will be replaced with the buyer's name for the final email. This mechanism contained a security-relevant bug:

It was possible to exfiltrate information about the pretix system through specially crafted placeholder names such as {{event.__init__.__code__.co_filename}}.

Leer descripción completaMostrar menos

This way, an attacker with the ability to control email templates (usually every user of the pretix backend) could retrieve sensitive information from the system configuration, including even database passwords or API keys. pretix does include mechanisms to prevent the usage of such malicious placeholders, however due to a mistake in the code, they were not fully effective for this plugin.

Out of caution, we recommend that you rotate all passwords and API keys contained in your pretix.cfg https://docs.pretix.eu/self-hosting/config/  file.

CVSS

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

🎯 Técnicas ATT&CK

Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.

Vulnerabilidad en pretix que requiere PR:L y permite exfiltración de credenciales (contraseñas BD, claves API) mediante placeholders maliciosos en plantillas de email controladas por usuarios autenticados.

Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.

🛡️ Mitigaciones ATT&CK que cubren estas técnicas

Tecnologías afectadas (2)

CWE

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-2452",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-2452",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "total"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-02-17T16:43:10.295791Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Primary",
        "source": "nvd@nist.gov",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 6.5,
          "attackVector": "NETWORK",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
          "integrityImpact": "NONE",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "NONE",
          "privilegesRequired": "LOW",
          "confidentialityImpact": "HIGH"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 2.8
      }
    ],
    "cvssMetricV40": [
      {
        "type": "Secondary",
        "source": "655498c3-6ec5-4f0b-aea6-853b334d05a6",
        "cvssData": {
          "Safety": "NOT_DEFINED",
          "version": "4.0",
          "Recovery": "NOT_DEFINED",
          "baseScore": 7.5,
          "Automatable": "NOT_DEFINED",
          "attackVector": "NETWORK",
          "baseSeverity": "HIGH",
          "valueDensity": "NOT_DEFINED",
          "vectorString": "CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:L/U:Red",
          "exploitMaturity": "PROOF_OF_CONCEPT",
          "providerUrgency": "RED",
          "userInteraction": "NONE",
          "attackComplexity": "HIGH",
          "attackRequirements": "NONE",
          "privilegesRequired": "LOW",
          "subIntegrityImpact": "HIGH",
          "vulnIntegrityImpact": "HIGH",
          "integrityRequirement": "NOT_DEFINED",
          "modifiedAttackVector": "NOT_DEFINED",
          "subAvailabilityImpact": "HIGH",
          "vulnAvailabilityImpact": "HIGH",
          "availabilityRequirement": "NOT_DEFINED",
          "modifiedUserInteraction": "NOT_DEFINED",
          "modifiedAttackComplexity": "NOT_DEFINED",
          "subConfidentialityImpact": "HIGH",
          "vulnConfidentialityImpact": "HIGH",
          "confidentialityRequirement": "NOT_DEFINED",
          "modifiedAttackRequirements": "NOT_DEFINED",
          "modifiedPrivilegesRequired": "NOT_DEFINED",
          "modifiedSubIntegrityImpact": "NOT_DEFINED",
          "modifiedVulnIntegrityImpact": "NOT_DEFINED",
          "vulnerabilityResponseEffort": "LOW",
          "modifiedSubAvailabilityImpact": "NOT_DEFINED",
          "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
          "modifiedSubConfidentialityImpact": "NOT_DEFINED",
          "modifiedVulnConfidentialityImpact": "NOT_DEFINED"
        }
      }
    ]
  },
  "affected": [
    {
      "source": "655498c3-6ec5-4f0b-aea6-853b334d05a6",
      "affectedData": [
        {
          "vendor": "pretix",
          "product": "pretix-newsletter",
          "versions": [
            {
              "status": "affected",
              "changes": [
                {
                  "at": "1.6.3",
                  "status": "unaffected"
                }
              ],
              "version": "1.0.0",
              "lessThan": "2.0.0",
              "versionType": "python"
            },
            {
              "status": "affected",
              "version": "2.0.0",
              "lessThan": "2.0.1",
              "versionType": "python"
            }
          ],
          "packageName": "pretix-newsletter",
          "collectionURL": "https://marketplace.pretix.eu/",
          "defaultStatus": "unaffected"
        }
      ]
    }
  ],
  "published": "2026-02-16T11:15:56.420",
  "references": [
    {
      "url": "https://pretix.eu/about/en/blog/20260216-release-2026-1-1/",
      "tags": [
        "Patch",
        "Third Party Advisory"
      ],
      "source": "655498c3-6ec5-4f0b-aea6-853b334d05a6"
    }
  ],
  "vulnStatus": "Analyzed",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "655498c3-6ec5-4f0b-aea6-853b334d05a6",
      "description": [
        {
          "lang": "en",
          "value": "CWE-627"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "Emails sent by pretix can utilize placeholders that will be filled with customer data. For example, when {name}\n is used in an email template, it will  be replaced with the buyer's \nname for the final email. This mechanism contained a security-relevant bug:\n\nIt was possible to exfiltrate information about the pretix system through specially crafted placeholder names such as {{event.__init__.__code__.co_filename}}.\n This way, an attacker with the ability to control email templates \n(usually every user of the pretix backend) could retrieve sensitive \ninformation from the system configuration, including even database \npasswords or API keys. pretix does include mechanisms to prevent the usage of such \nmalicious placeholders, however due to a mistake in the code, they were \nnot fully effective for this plugin.\n\nOut of caution, we recommend that you rotate all passwords and API keys contained in your  pretix.cfg https://docs.pretix.eu/self-hosting/config/  file."
    },
    {
      "lang": "es",
      "value": "Los correos electrónicos enviados por pretix pueden utilizar marcadores de posición que se rellenarán con datos del cliente. Por ejemplo, cuando se utiliza {name} en una plantilla de correo electrónico, se reemplazará con el nombre del comprador para el correo electrónico final. Este mecanismo contenía un error de seguridad relevante:\n\nEra posible exfiltrar información sobre el sistema pretix a través de nombres de marcadores de posición especialmente diseñados, como {{event.__init__.__code__.co_filename}}. De esta manera, un atacante con la capacidad de controlar plantillas de correo electrónico (normalmente cualquier usuario del backend de pretix) podría recuperar información sensible de la configuración del sistema, incluyendo incluso contraseñas de base de datos o claves API. pretix sí incluye mecanismos para evitar el uso de tales marcadores de posición maliciosos, sin embargo, debido a un error en el código, no fueron completamente efectivos para este plugin.\n\nPor precaución, recomendamos que rote todas las contraseñas y claves API contenidas en su archivo pretix.cfg https://docs.pretix.eu/self-hosting/config/."
    }
  ],
  "lastModified": "2026-06-17T10:30:58.833",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:a:pretix:newsletters:*:*:*:*:*:pretix:*:*",
              "vulnerable": true,
              "matchCriteriaId": "D9C0752B-D6CB-429E-BB2A-F0B9381AE7CF",
              "versionEndExcluding": "1.6.3"
            },
            {
              "criteria": "cpe:2.3:a:pretix:newsletters:2.0.0:*:*:*:*:pretix:*:*",
              "vulnerable": true,
              "matchCriteriaId": "B4F6FD9A-DA1C-4943-82E8-F4B657FAEDB6"
            },
            {
              "criteria": "cpe:2.3:a:pretix:pretix:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "676E56F1-348F-410C-BFDD-9124BD51E34B",
              "versionEndExcluding": "2026.1.1",
              "versionStartIncluding": "4.16.0"
            }
          ],
          "operator": "OR"
        }
      ]
    }
  ],
  "sourceIdentifier": "655498c3-6ec5-4f0b-aea6-853b334d05a6"
}