# CVE-2026-126361: Astro HTML injection in dynamic element rendering

Source: https://junglewise.ai/threats/cve-2026-126361-astro-is-a-web-framework-for-content-driven-websites-prior-to-7  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-13. Updated: 2026-11-13  
License: CC BY 4.0 with a link back

CVE-2026-126361 · Severity: info · Published 2026-11-13

Astro is a web framework used to build content-driven websites. When Astro renders dynamic HTML element names from untrusted user input, it fails to properly filter special characters, allowing attackers to inject malicious HTML event handlers into the generated page markup. This could lead to arbitrary JavaScript execution and account compromise if an application uses user-supplied data as element names.

Technologies: [Astro](https://junglewise.ai/threats/technologies/astro-astro). Vendors: [Astro](https://junglewise.ai/threats/vendors/astro).

## Quick answers

**Is CVE-2026-126361 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-126361 being exploited in the wild.

**How severe is CVE-2026-126361?** Informational severity, published 13 November 2026.

**Which products and versions are affected?** Astro before 7.4.5.

**Is there a fix for CVE-2026-126361?** Yes: fixed in 7.4.5. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-126361 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-126361?** Check whether you run Astro at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 7.4.5

## Technical details

The vulnerability exists in Astro's dynamic-tag, JSX, and MDX renderers, which apply incomplete character filtering when rendering string-based element names. A forward slash (/) or equals sign (=) in the element name string can be interpreted as attribute delimiters by the HTML parser, bypassing the filter and allowing injection of event-handler markup. Exploitation requires an application to use request-controlled or stored untrusted data as all or part of a dynamic element name.

## Affected products

- Astro Astro before 7.4.5

## Timeline

- 2026-11-13: disclosed
- 2026-10-30: patched: Fix merged in commit e023abac912d7cb6af2b9fb5107ef5dabc667096

## References

- [https://github.com/withastro/astro/commit/e023abac912d7cb6af2b9fb5107ef5dabc667096](https://github.com/withastro/astro/commit/e023abac912d7cb6af2b9fb5107ef5dabc667096)
- [https://github.com/withastro/astro/pull/18520](https://github.com/withastro/astro/pull/18520)

## Related threats

- [Astro case-sensitive path bypass in image endpoint](https://junglewise.ai/threats/cve-2026-126364-astro-is-a-web-framework-for-content-driven-websites-from-5-14-3)
- [Astro HTML injection in script and style element rendering](https://junglewise.ai/threats/cve-2026-114128-astro-is-a-web-framework-for-content-driven-websites-prior-to-7)
- [Astro CSS injection in View Transition animation values](https://junglewise.ai/threats/cve-2026-114127-astro-is-a-web-framework-for-content-driven-websites-from-7-1-0)
- [Astro: XSS in define:vars via incomplete </script> tag sanitization](https://junglewise.ai/threats/cve-2026-41067-astro-xss-in-define-vars-via-incomplete-script-tag-sanitization)
- [Astro authentication bypass via double URL encoding](https://junglewise.ai/threats/cve-2025-66202-astro-authentication-bypass-via-double-url-encoding)
