{
  "schemaVersion": 1,
  "incident": {
    "id": "cve-2026-108261",
    "url": "https://cveboard.org/i/cve-2026-108261",
    "urlPt": "https://cveboard.org/pt/i/cve-2026-108261",
    "json": "https://cveboard.org/i/cve-2026-108261.json",
    "kind": "vuln",
    "live": true,
    "knownExploited": false,
    "severity": "critical",
    "title": "TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment",
    "summary": "The TinaCMS admin builds its preview <iframe src> from the /~/* hash-router splat without checking that the value stays same-origin. A fragment with a doubled slash (#/~//attacker.example/p) becomes the protocol-relative URL //attacker.example/p, so the admin frames an external site.",
    "titlePt": "iframe de pré-visualização do admin do TinaCMS carrega uma origem controlada pelo atacante a partir do fragmento da URL",
    "summaryPt": "A construção do preview <iframe src> do admin do TinaCMS é feita a partir do /~/* hash-router splat sem verificar se o valor permanece mesmo-origem. Um fragmento com barra dupla (#/~//attacker.example/p) se torna a URL relativa ao protocolo //attacker.example/p, então o admin embute um site externo.",
    "cves": [
      "CVE-2026-108261"
    ],
    "ghsa": "GHSA-x34j-47hf-4xg7",
    "cvss": {
      "score": 9.3,
      "version": "3.1"
    },
    "epss": {
      "percentage": 0.0016,
      "percentile": 0.0455,
      "asOf": "2026-10-23"
    },
    "packages": [
      {
        "ecosystem": "npm",
        "name": "tinacms",
        "vulnerable": "<= 3.13.0",
        "fixed": "3.14.0",
        "advisory": "GHSA-x34j-47hf-4xg7"
      },
      {
        "ecosystem": "npm",
        "name": "@tinacms/app",
        "vulnerable": "<= 2.5.13",
        "fixed": "2.5.14",
        "advisory": "GHSA-x34j-47hf-4xg7"
      }
    ],
    "vendor": null,
    "product": null,
    "kev": null,
    "breach": null,
    "retracted": false,
    "sources": [
      {
        "label": "GitHub Advisory Database",
        "url": "https://github.com/advisories/GHSA-x34j-47hf-4xg7"
      }
    ],
    "publishedAt": "2026-10-09T20:56:48.000Z",
    "updatedAt": "2026-10-09T20:56:48.000Z"
  },
  "live": true,
  "events": [
    {
      "id": "ghsa:GHSA-x34j-47hf-4xg7:ghsa_published:2026-10-09T20:56:48.000Z",
      "incidentId": "cve-2026-108261",
      "type": "ghsa_published",
      "at": "2026-10-09T20:56:48.000Z",
      "detail": {
        "ghsa": "GHSA-x34j-47hf-4xg7",
        "severity": "critical",
        "fixed": "3.14.0, 2.5.14"
      }
    }
  ]
}