Every CVE Search/ Get API key

CVE-2026-44541

Fides: DOM-based XSS vulnerability in fides.js via fides_description override

7.0 HighFix available

Fides is an open-source privacy engineering platform. From version 2.33.0 to before version 2.84.5, there is a DOM-based XSS vulnerability in fides.js via the fides_description override. This issue has been patched in version 2.84.5.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
None
Integrity
None
Availability
None

Exploit likelihood

0.30%Up 0.3 points since Jun 9, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.0

Fides: DOM-based XSS vulnerability in fides.js via fides_description override

Fides is an open-source privacy engineering platform. From version 2.33.0 to before version 2.84.5, there is a DOM-based XSS vulnerability in fides.js via the fides_description override. This issue has been patched in version 2.84.5.

Record
CVE-2026-44541
CVSS 4.0
7.0 HighCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N
Weakness
CWE-79
Updated
2026-11-02
EUVDEUVD-2026-35201 7.0

Fides is an open-source privacy engineering platform. From version 2.33.0 to before version 2.84.5, there is a DOM-based XSS vulnerability in fides.js via the fides_description override. This issue has been patched in version 2.84.5.

Record
EUVD-2026-35201
CVSS 4.0
7.0 HighCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-5qrq-9645-g5g2 7.0

ethyca-fides has a DOM-based XSS vulnerability in fides.js via fides_description override

Summary

fides.js is the script that renders Fides's consent banner on customer websites. It lets the embedding page override the banner's description text at runtime via a URL query parameter, a JavaScript global, or a cookie. On sites that have opted into HTML-formatted descriptions, the overridden value is rendered as live HTML without passing through the server-side sanitiser the rendering path was designed to trust.

The result is a DOM-based XSS that any visitor can trigger with a crafted link, no authentication required. The cookie source lets the payload persist, so a single click can plant a payload that fires on every subsequent banner render across all subdomains until cookies are cleared.

Am I affected?

This vulnerability affects Fides Enterprise deployments that use fides.js for consent management, a.k.a. "Janus", and have HTML-formatted banner descriptions enabled (the FIDES_PRIVACY_CENTER__ALLOW_HTML_DESCRIPTION Privacy Center container env var set to true ). Deployments that do not load fides.js, or that leave HTML descriptions off (the default), are not affected. The vulnerable code lives in the open-source ethyca-fides PyPI package, which is why this is published as a GHSA and CVE against Fides OSS, but only Fides Enterprise consent management platform deployments exercise the affected path.

To self-test, visit any page where your site loads the consent banner, replacing <your-site>:

https://<your-site>/?fides_override_language=en&fides_description=<img src=x onerror="alert(`DOM XSS in fides_description. Origin: ${document.domain}`)">

If a browser alert() appears showing the embedding origin when the banner renders, the deployment is affected. If the banner does not auto-open, click the manage privacy preferences link to display it.

<img width="1392" height="1031" alt="dom-xss-localhost" src="https://github.com/user-attachments/assets/548bcf44-e4ab-4070-ab31-89c6cff79be1" />

If no alert appears, the deployment is not affected via this path.

The fides_override_language=en parameter is required because experience-translation overrides only apply when the override language matches the active locale. Adjust to match the active locale on the target site if en is not it.

Details

The vulnerability is a trust gap between two features that are safe in isolation but unsafe together.

The first feature is the override mechanism. fides.js lets the embedding page replace certain banner fields at runtime by reading them from the URL, a JavaScript global, or a cookie on the page origin. The description text is one of the overrideable fields.

The second feature is HTML-formatted descriptions. When the allowHTMLDescription server-controlled flag is on, the rendering path writes the description into the DOM as live HTML rather than plain text. This mode relies on a server-side sanitiser (nh3) to clean any HTML before it reaches the client, so the rendering sink can trust its input.

Combining the two breaks the assumption. The override mechanism feeds the description directly from a client-controlled source, never reaching the server, so the sanitiser the rendering path was designed to trust never runs. On a deployment that has both features active, an attacker-supplied value travels straight from URL or cookie to the HTML sink and executes as script.

The cookie source compounds the impact. Cookies set by JavaScript on the apex domain are visible to every subdomain on subsequent loads, so a payload delivered via URL can write a fides_description cookie that fires on every later banner render across the entire site, until the cookie is cleared.

Impact

A successful exploit gives the attacker arbitrary JavaScript execution in the embedding site's origin, with the same authority as the site's own scripts. The payload can read and modify any data the page can access, issue requests on behalf of the visitor, and render content that appears to come from the site…

Record
GHSA-5qrq-9645-g5g2
CVSS 4.0
7.0 HighCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N
Weakness
CWE-79
Updated
2026-11-02
NVD 7.0

Fides is an open-source privacy engineering platform. From version 2.33.0 to before version 2.84.5, there is a DOM-based XSS vulnerability in fides.js via the fides_description override. This issue has been patched in version 2.84.5.

Record
CVE-2026-44541
CVSS 4.0
7.0 HighCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness
CWE-79
Updated
2026-11-02
OSV 7.0

Fides: DOM-based XSS vulnerability in fides.js via fides_description override

Fides is an open-source privacy engineering platform. From version 2.33.0 to before version 2.84.5, there is a DOM-based XSS vulnerability in fides.js via the fides_description override. This issue has been patched in version 2.84.5.

Record
CVE-2026-44541
CVSS 4.0
7.0 HighCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N
Weakness
CWE-79
Updated
2026-11-02
OSVGHSA-5qrq-9645-g5g2 7.0

ethyca-fides has a DOM-based XSS vulnerability in fides.js via fides_description override

Summary

fides.js is the script that renders Fides's consent banner on customer websites. It lets the embedding page override the banner's description text at runtime via a URL query parameter, a JavaScript global, or a cookie. On sites that have opted into HTML-formatted descriptions, the overridden value is rendered as live HTML without passing through the server-side sanitiser the rendering path was designed to trust.

The result is a DOM-based XSS that any visitor can trigger with a crafted link, no authentication required. The cookie source lets the payload persist, so a single click can plant a payload that fires on every subsequent banner render across all subdomains until cookies are cleared.

Am I affected?

This vulnerability affects Fides Enterprise deployments that use fides.js for consent management, a.k.a. "Janus", and have HTML-formatted banner descriptions enabled (the FIDES_PRIVACY_CENTER__ALLOW_HTML_DESCRIPTION Privacy Center container env var set to true ). Deployments that do not load fides.js, or that leave HTML descriptions off (the default), are not affected. The vulnerable code lives in the open-source ethyca-fides PyPI package, which is why this is published as a GHSA and CVE against Fides OSS, but only Fides Enterprise consent management platform deployments exercise the affected path.

To self-test, visit any page where your site loads the consent banner, replacing <your-site>:

https://<your-site>/?fides_override_language=en&fides_description=<img src=x onerror="alert(`DOM XSS in fides_description. Origin: ${document.domain}`)">

If a browser alert() appears showing the embedding origin when the banner renders, the deployment is affected. If the banner does not auto-open, click the manage privacy preferences link to display it.

<img width="1392" height="1031" alt="dom-xss-localhost" src="https://github.com/user-attachments/assets/548bcf44-e4ab-4070-ab31-89c6cff79be1" />

If no alert appears, the deployment is not affected via this path.

The fides_override_language=en parameter is required because experience-translation overrides only apply when the override language matches the active locale. Adjust to match the active locale on the target site if en is not it.

Details

The vulnerability is a trust gap between two features that are safe in isolation but unsafe together.

The first feature is the override mechanism. fides.js lets the embedding page replace certain banner fields at runtime by reading them from the URL, a JavaScript global, or a cookie on the page origin. The description text is one of the overrideable fields.

The second feature is HTML-formatted descriptions. When the allowHTMLDescription server-controlled flag is on, the rendering path writes the description into the DOM as live HTML rather than plain text. This mode relies on a server-side sanitiser (nh3) to clean any HTML before it reaches the client, so the rendering sink can trust its input.

Combining the two breaks the assumption. The override mechanism feeds the description directly from a client-controlled source, never reaching the server, so the sanitiser the rendering path was designed to trust never runs. On a deployment that has both features active, an attacker-supplied value travels straight from URL or cookie to the HTML sink and executes as script.

The cookie source compounds the impact. Cookies set by JavaScript on the apex domain are visible to every subdomain on subsequent loads, so a payload delivered via URL can write a fides_description cookie that fires on every later banner render across the entire site, until the cookie is cleared.

Impact

A successful exploit gives the attacker arbitrary JavaScript execution in the embedding site's origin, with the same authority as the site's own scripts. The payload can read and modify any data the page can access, issue requests on behalf of the visitor, and render content that appears to come from the site…

Record
GHSA-5qrq-9645-g5g2
CVSS 4.0
7.0 HighCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N
Weakness
CWE-79
Updated
2026-11-02
OSVPYSEC-2026-2470 7.0

ethyca-fides has a DOM-based XSS vulnerability in fides.js via fides_description override

Summary

fides.js is the script that renders Fides's consent banner on customer websites. It lets the embedding page override the banner's description text at runtime via a URL query parameter, a JavaScript global, or a cookie. On sites that have opted into HTML-formatted descriptions, the overridden value is rendered as live HTML without passing through the server-side sanitiser the rendering path was designed to trust.

The result is a DOM-based XSS that any visitor can trigger with a crafted link, no authentication required. The cookie source lets the payload persist, so a single click can plant a payload that fires on every subsequent banner render across all subdomains until cookies are cleared.

Am I affected?

This vulnerability affects Fides Enterprise deployments that use fides.js for consent management, a.k.a. "Janus", and have HTML-formatted banner descriptions enabled (the FIDES_PRIVACY_CENTER__ALLOW_HTML_DESCRIPTION Privacy Center container env var set to true ). Deployments that do not load fides.js, or that leave HTML descriptions off (the default), are not affected. The vulnerable code lives in the open-source ethyca-fides PyPI package, which is why this is published as a GHSA and CVE against Fides OSS, but only Fides Enterprise consent management platform deployments exercise the affected path.

To self-test, visit any page where your site loads the consent banner, replacing <your-site>:

https://<your-site>/?fides_override_language=en&fides_description=<img src=x onerror="alert(`DOM XSS in fides_description. Origin: ${document.domain}`)">

If a browser alert() appears showing the embedding origin when the banner renders, the deployment is affected. If the banner does not auto-open, click the manage privacy preferences link to display it.

<img width="1392" height="1031" alt="dom-xss-localhost" src="https://github.com/user-attachments/assets/548bcf44-e4ab-4070-ab31-89c6cff79be1" />

If no alert appears, the deployment is not affected via this path.

The fides_override_language=en parameter is required because experience-translation overrides only apply when the override language matches the active locale. Adjust to match the active locale on the target site if en is not it.

Details

The vulnerability is a trust gap between two features that are safe in isolation but unsafe together.

The first feature is the override mechanism. fides.js lets the embedding page replace certain banner fields at runtime by reading them from the URL, a JavaScript global, or a cookie on the page origin. The description text is one of the overrideable fields.

The second feature is HTML-formatted descriptions. When the allowHTMLDescription server-controlled flag is on, the rendering path writes the description into the DOM as live HTML rather than plain text. This mode relies on a server-side sanitiser (nh3) to clean any HTML before it reaches the client, so the rendering sink can trust its input.

Combining the two breaks the assumption. The override mechanism feeds the description directly from a client-controlled source, never reaching the server, so the sanitiser the rendering path was designed to trust never runs. On a deployment that has both features active, an attacker-supplied value travels straight from URL or cookie to the HTML sink and executes as script.

The cookie source compounds the impact. Cookies set by JavaScript on the apex domain are visible to every subdomain on subsequent loads, so a payload delivered via URL can write a fides_description cookie that fires on every later banner render across the entire site, until the cookie is cleared.

Impact

A successful exploit gives the attacker arbitrary JavaScript execution in the embedding site's origin, with the same authority as the site's own scripts. The payload can read and modify any data the page can access, issue requests on behalf of the visitor, and render content that appears to come from the site…

Record
PYSEC-2026-2470
CVSS 4.0
7.0 HighCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:N
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
ethyca-fides
PyPI
2.33.0 up to 2.84.5
2.84.5
ethyca-fides
PyPI
2.33.0 up to 2.84.5, plus listed versions
2.33.12.34.02.35.02.35.12.36.0
Show 45 moreShow less
2.37.02.38.02.38.12.39.02.39.12.39.22.40.02.41.02.42.02.42.12.43.02.43.22.44.02.45.02.45.12.45.22.46.02.46.12.46.22.47.02.47.12.48.02.48.12.48.22.49.02.49.12.50.02.51.02.51.12.51.22.52.02.53.02.54.02.55.02.55.12.55.22.55.32.55.42.56.02.56.12.56.22.57.02.57.12.58.02.58.0rc3
2.84.5

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-44541 is a high vulnerability (CVSS 7.0) in Ethyca Fides, published May 14, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.30%, the 22nd percentile. Fixed in ethyca-fides 2.84.5.

References

This page doesn't list everything

Left out here: 463 versions and the rest of 3 source descriptions. The JSON record has them.

MoveEnter Open