GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2025-15265 (GCVE-0-2025-15265)

Vulnerability from cvelistv5 – Published: 2026-01-15 19:59 – Updated: 2026-01-15 20:28
VLAI
Title
Svelte 5.46.0 - Hydratable Key Script-Breakout XSS (SSR)
Summary
An SSR XSS exists in async hydration when attacker‑controlled keys are passed to hydratable. The key is embedded inside a <script> block without HTML‑safe escaping, allowing </script> to terminate the script and inject arbitrary JavaScript. This enables remote script execution in users' browsers, with potential for session theft and account compromise. This issue affects Svelte: from 5.46.0 before 5.46.3.
SSVC
Exploitation: poc Automatable: no Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2026-01-15 20:28 UTC
CWE
  • CWE-79 - Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting')
Assigner
References
Impacted products
Vendor Product Version CPE status
Svelte Svelte Affected: 5.46.0 , < 5.46.3 (custom)
    cpe:2.3:a:svelte:svelte:*:*:windows:*:*:*:*:*
    cpe:2.3:a:svelte:svelte:*:*:linux:*:*:*:*:*
    cpe:2.3:a:svelte:svelte:*:*:macos:*:*:*:*:*
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2025-15265",
                "options": [
                  {
                    "Exploitation": "poc"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-01-15T20:28:05.329081Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-01-15T20:28:16.479Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "collectionURL": "https://registry.npmjs.org",
          "defaultStatus": "unaffected",
          "packageName": "svelte",
          "platforms": [
            "Windows",
            "Linux",
            "MacOS"
          ],
          "product": "Svelte",
          "vendor": "Svelte",
          "versions": [
            {
              "lessThan": "5.46.3",
              "status": "affected",
              "version": "5.46.0",
              "versionType": "custom"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:a:svelte:svelte:*:*:windows:*:*:*:*:*",
                  "versionEndExcluding": "5.46.3",
                  "versionStartIncluding": "5.46.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:a:svelte:svelte:*:*:linux:*:*:*:*:*",
                  "versionEndExcluding": "5.46.3",
                  "versionStartIncluding": "5.46.0",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:a:svelte:svelte:*:*:macos:*:*:*:*:*",
                  "versionEndExcluding": "5.46.3",
                  "versionStartIncluding": "5.46.0",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ],
          "operator": "OR"
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "finder",
          "value": "Camilo Vera"
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cspan style=\"background-color: rgb(255, 255, 255);\"\u003eAn SSR XSS exists in async hydration when attacker\u2011controlled keys are passed to hydratable. The key is embedded inside a \u0026lt;script\u0026gt; block without HTML\u2011safe escaping, allowing \u0026lt;/script\u0026gt; to terminate the script and inject arbitrary JavaScript. This enables remote script execution in users\u0027 browsers, with potential for session theft and account compromise.\u003c/span\u003e\u003cbr\u003e\u003cp\u003eThis issue affects Svelte: from 5.46.0 before 5.46.3.\u003c/p\u003e"
            }
          ],
          "value": "An SSR XSS exists in async hydration when attacker\u2011controlled keys are passed to hydratable. The key is embedded inside a \u003cscript\u003e block without HTML\u2011safe escaping, allowing \u003c/script\u003e to terminate the script and inject arbitrary JavaScript. This enables remote script execution in users\u0027 browsers, with potential for session theft and account compromise.\nThis issue affects Svelte: from 5.46.0 before 5.46.3."
        }
      ],
      "impacts": [
        {
          "capecId": "CAPEC-63",
          "descriptions": [
            {
              "lang": "en",
              "value": "CAPEC-63 Cross-Site Scripting (XSS)"
            }
          ]
        }
      ],
      "metrics": [
        {
          "cvssV4_0": {
            "Automatable": "NOT_DEFINED",
            "Recovery": "NOT_DEFINED",
            "Safety": "NOT_DEFINED",
            "attackComplexity": "LOW",
            "attackRequirements": "NONE",
            "attackVector": "NETWORK",
            "baseScore": 5.3,
            "baseSeverity": "MEDIUM",
            "privilegesRequired": "NONE",
            "providerUrgency": "NOT_DEFINED",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "LOW",
            "subIntegrityImpact": "LOW",
            "userInteraction": "PASSIVE",
            "valueDensity": "NOT_DEFINED",
            "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N",
            "version": "4.0",
            "vulnAvailabilityImpact": "NONE",
            "vulnConfidentialityImpact": "NONE",
            "vulnIntegrityImpact": "NONE",
            "vulnerabilityResponseEffort": "NOT_DEFINED"
          },
          "format": "CVSS",
          "scenarios": [
            {
              "lang": "en",
              "value": "GENERAL"
            }
          ]
        }
      ],
      "problemTypes": [
        {
          "descriptions": [
            {
              "cweId": "CWE-79",
              "description": "CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or \u0027Cross-site Scripting\u0027)",
              "lang": "en",
              "type": "CWE"
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-01-15T19:59:41.683Z",
        "orgId": "84fe0718-d6bb-4716-a7e8-81a6d1daa869",
        "shortName": "Fluid Attacks"
      },
      "references": [
        {
          "tags": [
            "third-party-advisory"
          ],
          "url": "https://fluidattacks.com/advisories/lydian"
        },
        {
          "tags": [
            "vendor-advisory"
          ],
          "url": "https://github.com/sveltejs/svelte/security/advisories/GHSA-6738-r8g5-qwp3"
        },
        {
          "tags": [
            "patch"
          ],
          "url": "https://fluidattacks.com/advisories/lydian"
        }
      ],
      "source": {
        "discovery": "UNKNOWN"
      },
      "title": "Svelte 5.46.0  - Hydratable Key Script-Breakout XSS (SSR)",
      "x_generator": {
        "engine": "Vulnogram 0.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "84fe0718-d6bb-4716-a7e8-81a6d1daa869",
    "assignerShortName": "Fluid Attacks",
    "cveId": "CVE-2025-15265",
    "datePublished": "2026-01-15T19:59:41.683Z",
    "dateReserved": "2025-12-29T15:31:42.980Z",
    "dateUpdated": "2026-01-15T20:28:16.479Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2025-15265",
      "date": "2026-09-17",
      "epss": "0.00351",
      "percentile": "0.2862"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "collectionURL": "https://registry.npmjs.org",
                "defaultStatus": "unaffected",
                "packageName": "svelte",
                "platforms": [
                  "Windows",
                  "Linux",
                  "MacOS"
                ],
                "product": "Svelte",
                "vendor": "Svelte",
                "versions": [
                  {
                    "lessThan": "5.46.3",
                    "status": "affected",
                    "version": "5.46.0",
                    "versionType": "custom"
                  }
                ]
              }
            ],
            "source": "help@fluidattacks.com"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:a:svelte:svelte:*:*:*:*:*:node.js:*:*",
                    "matchCriteriaId": "388FECC8-EDAB-4046-96F5-AC7087330E95",
                    "versionEndExcluding": "5.46.3",
                    "versionStartIncluding": "5.46.0",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "An SSR XSS exists in async hydration when attacker\u2011controlled keys are passed to hydratable. The key is embedded inside a \u003cscript\u003e block without HTML\u2011safe escaping, allowing \u003c/script\u003e to terminate the script and inject arbitrary JavaScript. This enables remote script execution in users\u0027 browsers, with potential for session theft and account compromise.\nThis issue affects Svelte: from 5.46.0 before 5.46.3."
          },
          {
            "lang": "es",
            "value": "Existe una vulnerabilidad de tipo SSR XSS en la hidrataci\u00f3n as\u00edncrona cuando se pasan claves controladas por el atacante a `hydratable`. La clave se incrusta dentro de un bloque `` termine el script e inyecte c\u00f3digo JavaScript arbitrario. Esto permite la ejecuci\u00f3n remota de scripts en los navegadores de los usuarios, con el riesgo de robo de sesi\u00f3n y compromiso de la cuenta. Este problema afecta a Svelte: desde la versi\u00f3n 5.46.0 hasta la 5.46.3."
          }
        ],
        "id": "CVE-2025-15265",
        "lastModified": "2026-06-17T08:37:29.597",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "NONE",
                "baseScore": 6.1,
                "baseSeverity": "MEDIUM",
                "confidentialityImpact": "LOW",
                "integrityImpact": "LOW",
                "privilegesRequired": "NONE",
                "scope": "CHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
                "version": "3.1"
              },
              "exploitabilityScore": 2.8,
              "impactScore": 2.7,
              "source": "nvd@nist.gov",
              "type": "Primary"
            }
          ],
          "cvssMetricV40": [
            {
              "cvssData": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "availabilityRequirement": "NOT_DEFINED",
                "baseScore": 5.3,
                "baseSeverity": "MEDIUM",
                "confidentialityRequirement": "NOT_DEFINED",
                "exploitMaturity": "NOT_DEFINED",
                "integrityRequirement": "NOT_DEFINED",
                "modifiedAttackComplexity": "NOT_DEFINED",
                "modifiedAttackRequirements": "NOT_DEFINED",
                "modifiedAttackVector": "NOT_DEFINED",
                "modifiedPrivilegesRequired": "NOT_DEFINED",
                "modifiedSubAvailabilityImpact": "NOT_DEFINED",
                "modifiedSubConfidentialityImpact": "NOT_DEFINED",
                "modifiedSubIntegrityImpact": "NOT_DEFINED",
                "modifiedUserInteraction": "NOT_DEFINED",
                "modifiedVulnAvailabilityImpact": "NOT_DEFINED",
                "modifiedVulnConfidentialityImpact": "NOT_DEFINED",
                "modifiedVulnIntegrityImpact": "NOT_DEFINED",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "LOW",
                "subIntegrityImpact": "LOW",
                "userInteraction": "PASSIVE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N/E:X/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:X/U:X",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "source": "help@fluidattacks.com",
              "type": "Secondary"
            }
          ],
          "ssvcV203": [
            {
              "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "ssvcData": {
                "id": "CVE-2025-15265",
                "options": [
                  {
                    "exploitation": "poc"
                  },
                  {
                    "automatable": "no"
                  },
                  {
                    "technicalImpact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2026-01-15T20:28:05.329081Z",
                "version": "2.0.3"
              }
            }
          ]
        },
        "published": "2026-01-15T20:16:03.490",
        "references": [
          {
            "source": "help@fluidattacks.com",
            "tags": [
              "Exploit",
              "Third Party Advisory"
            ],
            "url": "https://fluidattacks.com/advisories/lydian"
          },
          {
            "source": "help@fluidattacks.com",
            "tags": [
              "Exploit",
              "Third Party Advisory"
            ],
            "url": "https://fluidattacks.com/advisories/lydian"
          },
          {
            "source": "help@fluidattacks.com",
            "tags": [
              "Exploit",
              "Third Party Advisory"
            ],
            "url": "https://fluidattacks.com/advisories/lydian"
          },
          {
            "source": "help@fluidattacks.com",
            "tags": [
              "Exploit",
              "Third Party Advisory"
            ],
            "url": "https://fluidattacks.com/advisories/lydian"
          },
          {
            "source": "help@fluidattacks.com",
            "tags": [
              "Third Party Advisory"
            ],
            "url": "https://github.com/sveltejs/svelte/security/advisories/GHSA-6738-r8g5-qwp3"
          }
        ],
        "sourceIdentifier": "help@fluidattacks.com",
        "vulnStatus": "Analyzed",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-79"
              }
            ],
            "source": "help@fluidattacks.com",
            "type": "Secondary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-01-23T19:45:02+00:00",
      "cve": "CVE-2025-15265",
      "id": "CVE-2025-15265",
      "initial_release_date": "2025-01-01T00:00:00+00:00",
      "product_status:known_affected": "1",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "Svelte: Svelte: Remote script execution via Cross-Site Scripting (XSS) in async hydration",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-15265.json",
      "version": "3"
    },
    "vulnrichment": {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2025-15265",
                    "options": [
                      {
                        "Exploitation": "poc"
                      },
                      {
                        "Automatable": "no"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-01-15T20:28:05.329081Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-01-15T20:28:08.193Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://registry.npmjs.org",
              "defaultStatus": "unaffected",
              "packageName": "svelte",
              "platforms": [
                "Windows",
                "Linux",
                "MacOS"
              ],
              "product": "Svelte",
              "vendor": "Svelte",
              "versions": [
                {
                  "lessThan": "5.46.3",
                  "status": "affected",
                  "version": "5.46.0",
                  "versionType": "custom"
                }
              ]
            }
          ],
          "cpeApplicability": [
            {
              "nodes": [
                {
                  "cpeMatch": [
                    {
                      "criteria": "cpe:2.3:a:svelte:svelte:*:*:windows:*:*:*:*:*",
                      "versionEndExcluding": "5.46.3",
                      "versionStartIncluding": "5.46.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:svelte:svelte:*:*:linux:*:*:*:*:*",
                      "versionEndExcluding": "5.46.3",
                      "versionStartIncluding": "5.46.0",
                      "vulnerable": true
                    },
                    {
                      "criteria": "cpe:2.3:a:svelte:svelte:*:*:macos:*:*:*:*:*",
                      "versionEndExcluding": "5.46.3",
                      "versionStartIncluding": "5.46.0",
                      "vulnerable": true
                    }
                  ],
                  "negate": false,
                  "operator": "OR"
                }
              ],
              "operator": "OR"
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "Camilo Vera"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cspan style=\"background-color: rgb(255, 255, 255);\"\u003eAn SSR XSS exists in async hydration when attacker\u2011controlled keys are passed to hydratable. The key is embedded inside a \u0026lt;script\u0026gt; block without HTML\u2011safe escaping, allowing \u0026lt;/script\u0026gt; to terminate the script and inject arbitrary JavaScript. This enables remote script execution in users\u0027 browsers, with potential for session theft and account compromise.\u003c/span\u003e\u003cbr\u003e\u003cp\u003eThis issue affects Svelte: from 5.46.0 before 5.46.3.\u003c/p\u003e"
                }
              ],
              "value": "An SSR XSS exists in async hydration when attacker\u2011controlled keys are passed to hydratable. The key is embedded inside a \u003cscript\u003e block without HTML\u2011safe escaping, allowing \u003c/script\u003e to terminate the script and inject arbitrary JavaScript. This enables remote script execution in users\u0027 browsers, with potential for session theft and account compromise.\nThis issue affects Svelte: from 5.46.0 before 5.46.3."
            }
          ],
          "impacts": [
            {
              "capecId": "CAPEC-63",
              "descriptions": [
                {
                  "lang": "en",
                  "value": "CAPEC-63 Cross-Site Scripting (XSS)"
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 5.3,
                "baseSeverity": "MEDIUM",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "LOW",
                "subIntegrityImpact": "LOW",
                "userInteraction": "PASSIVE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N",
                "version": "4.0",
                "vulnAvailabilityImpact": "NONE",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "GENERAL"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-79",
                  "description": "CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or \u0027Cross-site Scripting\u0027)",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-01-15T19:59:41.683Z",
            "orgId": "84fe0718-d6bb-4716-a7e8-81a6d1daa869",
            "shortName": "Fluid Attacks"
          },
          "references": [
            {
              "tags": [
                "third-party-advisory"
              ],
              "url": "https://fluidattacks.com/advisories/lydian"
            },
            {
              "tags": [
                "vendor-advisory"
              ],
              "url": "https://github.com/sveltejs/svelte/security/advisories/GHSA-6738-r8g5-qwp3"
            },
            {
              "tags": [
                "patch"
              ],
              "url": "https://fluidattacks.com/advisories/lydian"
            }
          ],
          "source": {
            "discovery": "UNKNOWN"
          },
          "title": "Svelte 5.46.0  - Hydratable Key Script-Breakout XSS (SSR)",
          "x_generator": {
            "engine": "Vulnogram 0.2.0"
          }
        }
      },
      "cveMetadata": {
        "assignerOrgId": "84fe0718-d6bb-4716-a7e8-81a6d1daa869",
        "assignerShortName": "Fluid Attacks",
        "cveId": "CVE-2025-15265",
        "datePublished": "2026-01-15T19:59:41.683Z",
        "dateReserved": "2025-12-29T15:31:42.980Z",
        "dateUpdated": "2026-01-15T20:28:16.479Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…