Search

Find a vulnerability

Search criteria

    2 vulnerabilities found for app by @tinacms

    CVE-2026-108261 (GCVE-0-2026-108261)

    Vulnerability from nvd – Published: 2026-10-09 20:43 – Updated: 2026-10-09 20:43
    VLAI
    Title
    TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment
    Summary
    Tina is a headless content management system. Prior to tinacms 3.14.0 and @tinacms/app 2.5.14, the /~/* admin preview route in packages/tinacms/src/admin/index.tsx can turn an attacker-controlled hash-router splat into an off-origin iframe URL through packages/@tinacms/app/src/preview.tsx, while packages/@tinacms/app/src/lib/preview-origin.ts derives expectedOrigin from that same URL for the GraphQL message channel in packages/@tinacms/app/src/lib/graphql-reducer.ts. An unauthenticated attacker can send a crafted link to a signed-in editor, cause the admin to frame an attacker origin, and have that frame treated as the trusted preview. The attacker-controlled frame can submit GraphQL reads or mutations that the admin executes with the editor credentials, exposing or modifying protected content. This issue is fixed in tinacms 3.14.0 and @tinacms/app 2.5.14.
    CWE
    • CWE-346 - Origin Validation Error
    • CWE-441 - Unintended Proxy or Intermediary ('Confused Deputy')
    • CWE-601 - URL Redirection to Untrusted Site ('Open Redirect')
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7552 records in the last 180 days details
    Impacted products
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "product": "tinacms",
              "vendor": "tinacms",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 3.14.0"
                }
              ]
            },
            {
              "product": "app",
              "vendor": "@tinacms",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.5.14"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Tina is a headless content management system. Prior to tinacms 3.14.0 and @tinacms/app 2.5.14, the /~/* admin preview route in packages/tinacms/src/admin/index.tsx can turn an attacker-controlled hash-router splat into an off-origin iframe URL through packages/@tinacms/app/src/preview.tsx, while packages/@tinacms/app/src/lib/preview-origin.ts derives expectedOrigin from that same URL for the GraphQL message channel in packages/@tinacms/app/src/lib/graphql-reducer.ts. An unauthenticated attacker can send a crafted link to a signed-in editor, cause the admin to frame an attacker origin, and have that frame treated as the trusted preview. The attacker-controlled frame can submit GraphQL reads or mutations that the admin executes with the editor credentials, exposing or modifying protected content. This issue is fixed in tinacms 3.14.0 and @tinacms/app 2.5.14."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 9.3,
                "baseSeverity": "CRITICAL",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "CHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-346",
                  "description": "CWE-346: Origin Validation Error",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-441",
                  "description": "CWE-441: Unintended Proxy or Intermediary (\u0027Confused Deputy\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-601",
                  "description": "CWE-601: URL Redirection to Untrusted Site (\u0027Open Redirect\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-09T20:43:37.580Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/tinacms/tinacms/security/advisories/GHSA-x34j-47hf-4xg7",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/tinacms/tinacms/security/advisories/GHSA-x34j-47hf-4xg7"
            },
            {
              "name": "https://github.com/tinacms/tinacms/pull/7522",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/tinacms/tinacms/pull/7522"
            },
            {
              "name": "https://github.com/tinacms/tinacms/commit/b57dbf4b56201aef15cd92caa49fd12ab96bbecf",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/tinacms/tinacms/commit/b57dbf4b56201aef15cd92caa49fd12ab96bbecf"
            },
            {
              "name": "https://github.com/tinacms/tinacms/releases/tag/@tinacms/app@2.5.14",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/tinacms/tinacms/releases/tag/@tinacms/app@2.5.14"
            },
            {
              "name": "https://github.com/tinacms/tinacms/releases/tag/tinacms@3.14.0",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/tinacms/tinacms/releases/tag/tinacms@3.14.0"
            }
          ],
          "source": {
            "advisory": "GHSA-x34j-47hf-4xg7",
            "discovery": "UNKNOWN"
          },
          "title": "TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-108261",
        "datePublished": "2026-10-09T20:43:37.580Z",
        "dateReserved": "2026-10-09T17:33:15.410Z",
        "dateUpdated": "2026-10-09T20:43:37.580Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-108261 (GCVE-0-2026-108261)

    Vulnerability from cvelistv5 – Published: 2026-10-09 20:43 – Updated: 2026-10-09 20:43
    VLAI
    Title
    TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment
    Summary
    Tina is a headless content management system. Prior to tinacms 3.14.0 and @tinacms/app 2.5.14, the /~/* admin preview route in packages/tinacms/src/admin/index.tsx can turn an attacker-controlled hash-router splat into an off-origin iframe URL through packages/@tinacms/app/src/preview.tsx, while packages/@tinacms/app/src/lib/preview-origin.ts derives expectedOrigin from that same URL for the GraphQL message channel in packages/@tinacms/app/src/lib/graphql-reducer.ts. An unauthenticated attacker can send a crafted link to a signed-in editor, cause the admin to frame an attacker origin, and have that frame treated as the trusted preview. The attacker-controlled frame can submit GraphQL reads or mutations that the admin executes with the editor credentials, exposing or modifying protected content. This issue is fixed in tinacms 3.14.0 and @tinacms/app 2.5.14.
    CWE
    • CWE-346 - Origin Validation Error
    • CWE-441 - Unintended Proxy or Intermediary ('Confused Deputy')
    • CWE-601 - URL Redirection to Untrusted Site ('Open Redirect')
    Assigner
    GitHub_M CNA under the mitre root
    CNA scorecard C 72/100 over 7552 records in the last 180 days details
    Impacted products
    Show details on NVD website

    {
      "containers": {
        "cna": {
          "affected": [
            {
              "product": "tinacms",
              "vendor": "tinacms",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 3.14.0"
                }
              ]
            },
            {
              "product": "app",
              "vendor": "@tinacms",
              "versions": [
                {
                  "status": "affected",
                  "version": "\u003c 2.5.14"
                }
              ]
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "value": "Tina is a headless content management system. Prior to tinacms 3.14.0 and @tinacms/app 2.5.14, the /~/* admin preview route in packages/tinacms/src/admin/index.tsx can turn an attacker-controlled hash-router splat into an off-origin iframe URL through packages/@tinacms/app/src/preview.tsx, while packages/@tinacms/app/src/lib/preview-origin.ts derives expectedOrigin from that same URL for the GraphQL message channel in packages/@tinacms/app/src/lib/graphql-reducer.ts. An unauthenticated attacker can send a crafted link to a signed-in editor, cause the admin to frame an attacker origin, and have that frame treated as the trusted preview. The attacker-controlled frame can submit GraphQL reads or mutations that the admin executes with the editor credentials, exposing or modifying protected content. This issue is fixed in tinacms 3.14.0 and @tinacms/app 2.5.14."
            }
          ],
          "metrics": [
            {
              "cvssV3_1": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 9.3,
                "baseSeverity": "CRITICAL",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "CHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N",
                "version": "3.1"
              }
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-346",
                  "description": "CWE-346: Origin Validation Error",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-441",
                  "description": "CWE-441: Unintended Proxy or Intermediary (\u0027Confused Deputy\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            },
            {
              "descriptions": [
                {
                  "cweId": "CWE-601",
                  "description": "CWE-601: URL Redirection to Untrusted Site (\u0027Open Redirect\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-10-09T20:43:37.580Z",
            "orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
            "shortName": "GitHub_M"
          },
          "references": [
            {
              "name": "https://github.com/tinacms/tinacms/security/advisories/GHSA-x34j-47hf-4xg7",
              "tags": [
                "x_refsource_CONFIRM"
              ],
              "url": "https://github.com/tinacms/tinacms/security/advisories/GHSA-x34j-47hf-4xg7"
            },
            {
              "name": "https://github.com/tinacms/tinacms/pull/7522",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/tinacms/tinacms/pull/7522"
            },
            {
              "name": "https://github.com/tinacms/tinacms/commit/b57dbf4b56201aef15cd92caa49fd12ab96bbecf",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/tinacms/tinacms/commit/b57dbf4b56201aef15cd92caa49fd12ab96bbecf"
            },
            {
              "name": "https://github.com/tinacms/tinacms/releases/tag/@tinacms/app@2.5.14",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/tinacms/tinacms/releases/tag/@tinacms/app@2.5.14"
            },
            {
              "name": "https://github.com/tinacms/tinacms/releases/tag/tinacms@3.14.0",
              "tags": [
                "x_refsource_MISC"
              ],
              "url": "https://github.com/tinacms/tinacms/releases/tag/tinacms@3.14.0"
            }
          ],
          "source": {
            "advisory": "GHSA-x34j-47hf-4xg7",
            "discovery": "UNKNOWN"
          },
          "title": "TinaCMS admin preview iframe loads an attacker-controlled origin from the URL fragment"
        }
      },
      "cveMetadata": {
        "assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
        "assignerShortName": "GitHub_M",
        "cveId": "CVE-2026-108261",
        "datePublished": "2026-10-09T20:43:37.580Z",
        "dateReserved": "2026-10-09T17:33:15.410Z",
        "dateUpdated": "2026-10-09T20:43:37.580Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }