kindspells/astro-shield · Security

In Astro-Shield, setting a correct `integrity` attribute to injected code allows to bypass the allow-lists

GHSA ID
GHSA-c4gr-q97g-ppwc
CVE ID
CVE-2024-30250
Severity
high
Published
Updated
CVSS
7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
CVSS v3
7.5 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
CVSS v4
8.7 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Description

Impact

Versions from 1.2.0 to 1.3.1 of Astro-Shield allow to bypass the allow-lists for cross-origin resources by introducing valid integrity attributes to the injected code. This implies that the injected SRI hash would be added to the generated CSP header, which would lead the browser to believe that the injected resource is legit.

To exploit this vulnerability, the attacker needs to first inject code into the rendered pages by exploiting other not-related potential vulnerabilities.

Patches

Version 1.3.2 provides a patch.

Workarounds

  • To not use the middleware functionality of Astro-Shield.
  • To use the middleware functionality of Astro-Shield ONLY for content that cannot be controlled in any way by external users.

References

Are there any links users can visit to find out more?

CWEs

References