CVE-2024-38537
Inclusion of Untrusted polyfill.io Code Vulnerability in fides.js
Severity by source
Trivy's own label is CRITICAL. Rated critical by NVD. Rated lower by GHSA (low).
Description
Fides is an open-source privacy engineering platform. `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. 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 `polyfill.io` domain when the domain was compromised and serving malware. No exploitation of `fides.js` via `polyfill.io` has been identified as of time of publication. 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. 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. 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.
Affected packages and fixed versions
| Source | Package | Fixed in |
|---|---|---|
| pip::GitHub Security Advisory pip | ethyca-fides | 2.39.1 |
References
- https://fetch.spec.whatwg.org
- https://github.com/ethyca/fides
- https://github.com/ethyca/fides/commit/868c4d629760572192bd61db34f5a4458ed12005
- https://github.com/ethyca/fides/pull/5026
- https://github.com/ethyca/fides/security/advisories/GHSA-cvw4-c69g-7v7m
- https://nvd.nist.gov/vuln/detail/CVE-2024-38537
- https://sansec.io/research/polyfill-supply-chain-attack