GitHub Advisoryadvisory · PyPI
GHSA-cvw4-c69g-7v7m Inclusion of Untrusted polyfill.io Code Vulnerability in fides.js
LOW
Official page ↗
- Aliases
- CVE-2024-38537
- Ecosystem
- PyPI
- Packages
- ethyca-fides
- Severity
- Low
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:N
- Weaknesses
- CWE-829
- Reviewed
- 2024-07-02
Affected packages
• PyPI ethyca-fides: < 2.39.1 → fixed in 2.39.1
Description
Note
On Thursday, June 27, 2024, Cloudflare and Namecheap intervened at a domain level to ensure `polyfill.io` and its subdomains could not resolve to the compromised service, rendering this vulnerability unexploitable.
The following sections describe this vulnerability prior to the domain level intervention, when it was still exploitable.
Impact
`fides.js`, a client-side script used to interact with the consent management features of Fides, used the `polyfill.io` domain in a very limited edge case, when it detected a legacy browser such as IE11 that did not support the fetch standard.
On June 25th, 2024, Sansec published the following regarding the `polyfill.io` domain.
> The polyfill.js is a popular open source library to support older browsers. 100K+ sites embed it using the cdn.polyfill.io domain... However, in February this year, a Chinese company bought the domain and the Github account. Since then, this domain was caught injecting malware on mobile devices via any site that embeds cdn.polyfill.io.
Therefore it was possible for users of legacy, pre-2017 browsers who navigate to a page serving `fides.js` to download and execute malicious scripts from the compromised domain.
No exploitation of `fides.js` via `polyfill.io` has been identified at this time, but other script developers who use `https://cdn.polyfill.io/v2/polyfill.min.js` have reported redirects to malicious websites.
Patches
The vulnerability has been patched in Fides version `2.39.1`. Users are advised to upgrade to this version or later to secure their systems against this threat.
Workarounds
Prior to the domain level intervention, there were no server-side workarounds and the confidentiality, integrity, and availability impacts of this vulnerability were high.
Clients could ensure they were not affected by using a modern browser that supported the fetch standard. caniuse.com/fetch estimates that 97.52% of browser users use a browser that supports the fetch standard.
References
• https://sansec.io/research/polyfill-supply-chain-attack
• https://github.com/ethyca/fides/pull/5026/
• https://fetch.spec.whatwg.org/
Related
Alias · CVE (1)
- CVE-2024-38537 Fides is an open-source privacy engineering platform. vulnerability
Weakness · CWE (1)
- CWE-829 Inclusion of Functionality from Untrusted Control Sphere weakness
References
- https://github.com/ethyca/fides/security/advisories/GHSA-cvw4-c69g-7v7m web
- https://nvd.nist.gov/vuln/detail/CVE-2024-38537 advisory
- https://github.com/ethyca/fides/pull/5026 web
- https://github.com/ethyca/fides/commit/868c4d629760572192bd61db34f5a4458ed12005 web
- https://fetch.spec.whatwg.org web
- https://github.com/ethyca/fides package
- https://sansec.io/research/polyfill-supply-chain-attack web