{
  "schemaVersion": 1,
  "incident": {
    "id": "cve-2026-57149",
    "url": "https://cveboard.org/i/cve-2026-57149",
    "urlPt": "https://cveboard.org/pt/i/cve-2026-57149",
    "json": "https://cveboard.org/i/cve-2026-57149.json",
    "kind": "vuln",
    "live": false,
    "knownExploited": false,
    "severity": "critical",
    "title": "plone.app.portlets Vulnerable to Remote Code Execution via TALES Injection",
    "summary": "The Classic portlet (plone.app.portlets.portlets.classic) used its user-supplied template/macro fields to build a TALES path expression that was then evaluated by the TAL path() helper. Because the value was interpreted as a full TALES expression, a user able to add or edit a Classic portlet could supply a crafted value that escapes simple path traversal and is evaluated as arbitrary code.",
    "titlePt": "plone.app.portlets Vulnerável à Execução Remota de Código via Injeção de TALES",
    "summaryPt": "O portlet Classic (plone.app.portlets.portlets.classic) usou os campos de template/macro fornecidos pelo usuário para construir uma expressão de caminho TALES que foi então avaliada pelo auxiliar path() do TAL. Como o valor foi interpretado como uma expressão TALES completa, um usuário capaz de adicionar ou editar um portlet Classic poderia fornecer um valor elaborado que escapa da simples travessia de caminho e é avaliado como código arbitrário.",
    "cves": [
      "CVE-2026-57149"
    ],
    "ghsa": "GHSA-rr49-f9g6-c9r5",
    "cvss": {
      "score": 9.9,
      "version": "3.1"
    },
    "epss": {
      "percentage": 0.00638,
      "percentile": 0.49511,
      "asOf": "2026-10-23"
    },
    "packages": [
      {
        "ecosystem": "pip",
        "name": "plone.app.portlets",
        "vulnerable": ">= 7.0.0, <= 7.0.1",
        "fixed": "7.0.2",
        "advisory": "GHSA-rr49-f9g6-c9r5"
      },
      {
        "ecosystem": "pip",
        "name": "plone.app.portlets",
        "vulnerable": ">= 6.0.0, <= 6.0.3",
        "fixed": "6.0.4",
        "advisory": "GHSA-rr49-f9g6-c9r5"
      },
      {
        "ecosystem": "pip",
        "name": "plone.app.portlets",
        "vulnerable": ">= 5.0.0, <= 5.0.7",
        "fixed": "5.0.8",
        "advisory": "GHSA-rr49-f9g6-c9r5"
      }
    ],
    "vendor": null,
    "product": null,
    "kev": null,
    "breach": null,
    "retracted": false,
    "sources": [
      {
        "label": "GitHub Advisory Database",
        "url": "https://github.com/advisories/GHSA-rr49-f9g6-c9r5"
      }
    ],
    "publishedAt": "2026-09-23T13:55:47.000Z",
    "updatedAt": "2026-09-23T13:55:47.000Z"
  },
  "live": false,
  "events": [
    {
      "id": "ghsa:GHSA-rr49-f9g6-c9r5:ghsa_published:2026-09-23T13:55:47.000Z",
      "incidentId": "cve-2026-57149",
      "type": "ghsa_published",
      "at": "2026-09-23T13:55:47.000Z",
      "detail": {
        "ghsa": "GHSA-rr49-f9g6-c9r5",
        "severity": "critical",
        "fixed": "7.0.2, 6.0.4, 5.0.8"
      }
    }
  ]
}