{"items":[{"id":"NVI-00010089","kind":"vulnerability","title":"Astro: Arbitrary CSS injection in Astro View Transitions","revision":3,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-mpr7-6m5w-76rw","CVE-2026-114127"],"plain_summary":"GitHub lists this reviewed advisory for astro. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-22499401f08e25e16490d395917d620b"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null},{"summary":"The original advisory lists fixed boundaries 7.3.3 for astro. Confirm the publisher’s latest guidance.","source_ids":["sr-44dfb68c09bceb6fbdda637ae63a3613"],"action_type":"vendor_patch","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"EPSS","as_of":"2026-11-02T12:00:30.000Z","value":"0.498%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.42729. Missing scores are unknown.","source_id":"sr-22499401f08e25e16490d395917d620b"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-027ff8d83874c2ee574d3b4178b12e5d","url":"https://github.com/advisories/GHSA-mpr7-6m5w-76rw","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-mpr7-6m5w-76rw","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T22:07:30.906Z"},{"id":"sr-44dfb68c09bceb6fbdda637ae63a3613","url":"https://github.com/advisories/GHSA-mpr7-6m5w-76rw","basis":"vendor_advisory","notes":"GitHub-origin advisory, CC-BY-4.0; OSV is an aggregate copy, not independent corroboration.","title":"GHSA-mpr7-6m5w-76rw","publisher":"GitHub Advisory Database via OSV","observed_at":"2026-11-06T07:20:15.459Z"},{"id":"sr-22499401f08e25e16490d395917d620b","url":"https://www.first.org/epss/data.html","basis":"official_catalog","notes":"FIRST EPSS; probability of exploitation in the next 30 days, not local compromise. Dataset date/model retained; FIRST services terms apply.","title":"CVE-2026-114127","publisher":"FIRST EPSS","observed_at":"2026-11-02T20:15:58.841Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-027ff8d83874c2ee574d3b4178b12e5d"],"technology":"astro","known_exclusions":[],"conditions_summary":"### Summary\n\nAstro's server-side View Transition CSS generator did not keep string animation properties within their generated CSS declarations. In an application that passes attacker-controlled data into an animation property such as `duration`, a value containing CSS delimiters could terminate the declaration and rule, then add attacker-selected CSS to the server-rendered page.\n\nThe injected content remains inside the generated `` element. It cannot terminate that element or inject HTML or JavaScript because Astro escapes `<` before emitting the stylesheet.\n\n### Severity\n\nExploitation requires an application to pass untrusted, request-derived, or user-controlled content directly into a transition animation value. This is an uncommon application pattern, and applications using static or otherwise trusted transition values are unaffected.\n\nThe resulting capability is limited to CSS in the rendered document. The proof of concept does not demonstrate JavaScript execution, HTML injection, an origin-boundary bypass, or access to server-only data.\n\n### Details\n\nAnimation values are collected by `stringifyAnimations()` in `packages/astro/src/runtime/server/transition.ts` and passe","public_affected_ranges":[">= 7.1.0, <= 7.3.2"]},{"certainty":"source_listed","source_ids":["sr-44dfb68c09bceb6fbdda637ae63a3613"],"technology":"astro","known_exclusions":[],"conditions_summary":"### Summary\n\nAstro's server-side View Transition CSS generator did not keep string animation properties within their generated CSS declarations. In an application that passes attacker-controlled data into an animation property such as `duration`, a value containing CSS delimiters could terminate the declaration and rule, then add attacker-selected CSS to the server-rendered page.\n\nThe injected content remains inside the generated `` element. It cannot terminate that element or inject HTML or JavaScript because Astro escapes `<` before emitting the stylesheet.\n\n### Severity\n\nExploitation requires an application to pass untrusted, request-derived, or user-controlled content directly into a transition animation value. This is an uncommon application pattern, and applications using static or otherwise trusted transition values are unaffected.\n\nThe resulting capability is limited to CSS in the rendered document. The proof of concept does not demonstrate JavaScript execution, HTML injection, an origin-boundary bypass, or access to server-only data.\n\n### Details\n\nAnimation values are collected by `stringifyAnimations()` in `packages/astro/src/runtime/server/transition.ts` and passe","public_affected_ranges":["SEMVER: introduced 7.1.0; fixed 7.3.3"]}],"null_published_at":"2026-11-07T14:01:58.740Z","source_updated_at":"2026-10-22T16:29:29.000Z","source_disclosed_at":"2026-10-22T16:29:28.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Dated EPSS estimate updated; this is not a new disclosure or proof of exploitation.","null_first_observed_at":"2026-10-31T22:07:30.906Z"},{"id":"NVI-00010089","kind":"vulnerability","title":"Astro: Arbitrary CSS injection in Astro View Transitions","revision":2,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-mpr7-6m5w-76rw","CVE-2026-114127"],"plain_summary":"GitHub lists this reviewed advisory for astro. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-027ff8d83874c2ee574d3b4178b12e5d"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null},{"summary":"The original advisory lists fixed boundaries 7.3.3 for astro. Confirm the publisher’s latest guidance.","source_ids":["sr-44dfb68c09bceb6fbdda637ae63a3613"],"action_type":"vendor_patch","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-027ff8d83874c2ee574d3b4178b12e5d","url":"https://github.com/advisories/GHSA-mpr7-6m5w-76rw","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-mpr7-6m5w-76rw","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T22:07:30.906Z"},{"id":"sr-44dfb68c09bceb6fbdda637ae63a3613","url":"https://github.com/advisories/GHSA-mpr7-6m5w-76rw","basis":"vendor_advisory","notes":"GitHub-origin advisory, CC-BY-4.0; OSV is an aggregate copy, not independent corroboration.","title":"GHSA-mpr7-6m5w-76rw","publisher":"GitHub Advisory Database via OSV","observed_at":"2026-11-06T07:20:15.459Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-027ff8d83874c2ee574d3b4178b12e5d"],"technology":"astro","known_exclusions":[],"conditions_summary":"### Summary\n\nAstro's server-side View Transition CSS generator did not keep string animation properties within their generated CSS declarations. In an application that passes attacker-controlled data into an animation property such as `duration`, a value containing CSS delimiters could terminate the declaration and rule, then add attacker-selected CSS to the server-rendered page.\n\nThe injected content remains inside the generated `` element. It cannot terminate that element or inject HTML or JavaScript because Astro escapes `<` before emitting the stylesheet.\n\n### Severity\n\nExploitation requires an application to pass untrusted, request-derived, or user-controlled content directly into a transition animation value. This is an uncommon application pattern, and applications using static or otherwise trusted transition values are unaffected.\n\nThe resulting capability is limited to CSS in the rendered document. The proof of concept does not demonstrate JavaScript execution, HTML injection, an origin-boundary bypass, or access to server-only data.\n\n### Details\n\nAnimation values are collected by `stringifyAnimations()` in `packages/astro/src/runtime/server/transition.ts` and passe","public_affected_ranges":[">= 7.1.0, <= 7.3.2"]},{"certainty":"source_listed","source_ids":["sr-44dfb68c09bceb6fbdda637ae63a3613"],"technology":"astro","known_exclusions":[],"conditions_summary":"### Summary\n\nAstro's server-side View Transition CSS generator did not keep string animation properties within their generated CSS declarations. In an application that passes attacker-controlled data into an animation property such as `duration`, a value containing CSS delimiters could terminate the declaration and rule, then add attacker-selected CSS to the server-rendered page.\n\nThe injected content remains inside the generated `` element. It cannot terminate that element or inject HTML or JavaScript because Astro escapes `<` before emitting the stylesheet.\n\n### Severity\n\nExploitation requires an application to pass untrusted, request-derived, or user-controlled content directly into a transition animation value. This is an uncommon application pattern, and applications using static or otherwise trusted transition values are unaffected.\n\nThe resulting capability is limited to CSS in the rendered document. The proof of concept does not demonstrate JavaScript execution, HTML injection, an origin-boundary bypass, or access to server-only data.\n\n### Details\n\nAnimation values are collected by `stringifyAnimations()` in `packages/astro/src/runtime/server/transition.ts` and passe","public_affected_ranges":["SEMVER: introduced 7.1.0; fixed 7.3.3"]}],"null_published_at":"2026-11-07T00:57:04.325Z","source_updated_at":"2026-10-22T16:29:29.000Z","source_disclosed_at":"2026-10-22T16:29:28.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Source facts changed; compare the preserved prior revision.","null_first_observed_at":"2026-10-31T22:07:30.906Z"},{"id":"NVI-00010089","kind":"vulnerability","title":"Astro: Arbitrary CSS injection in Astro View Transitions","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-mpr7-6m5w-76rw","CVE-2026-114127"],"plain_summary":"GitHub lists this reviewed advisory for astro. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-027ff8d83874c2ee574d3b4178b12e5d"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-027ff8d83874c2ee574d3b4178b12e5d","url":"https://github.com/advisories/GHSA-mpr7-6m5w-76rw","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-mpr7-6m5w-76rw","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T22:07:30.906Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-027ff8d83874c2ee574d3b4178b12e5d"],"technology":"astro","known_exclusions":[],"conditions_summary":"### Summary\n\nAstro's server-side View Transition CSS generator did not keep string animation properties within their generated CSS declarations. In an application that passes attacker-controlled data into an animation property such as `duration`, a value containing CSS delimiters could terminate the declaration and rule, then add attacker-selected CSS to the server-rendered page.\n\nThe injected content remains inside the generated `` element. It cannot terminate that element or inject HTML or JavaScript because Astro escapes `<` before emitting the stylesheet.\n\n### Severity\n\nExploitation requires an application to pass untrusted, request-derived, or user-controlled content directly into a transition animation value. This is an uncommon application pattern, and applications using static or otherwise trusted transition values are unaffected.\n\nThe resulting capability is limited to CSS in the rendered document. The proof of concept does not demonstrate JavaScript execution, HTML injection, an origin-boundary bypass, or access to server-only data.\n\n### Details\n\nAnimation values are collected by `stringifyAnimations()` in `packages/astro/src/runtime/server/transition.ts` and passe","public_affected_ranges":[">= 7.1.0, <= 7.3.2"]}],"null_published_at":"2026-10-31T22:13:48.414Z","source_updated_at":"2026-10-22T16:29:29.000Z","source_disclosed_at":"2026-10-22T16:29:28.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-10-31T22:07:30.906Z"}],"next_cursor":null,"snapshot_revision":"42594"}