CVE-2026-42303: Ethyca fides Ethyca Fides Has A Privacy Vulnerability

MODERATE
Advisory Identifier: GHSA-qx5f-ghc2-7g5c
CWE-841 CWE-306 CWE-288
Published
Advisory Summary

CVE-2026-42303 is a MODERATE ethyca fides has a privacy vulnerability (CWE-841: Improper Enforcement of Behavioral Workflow) affecting Ethyca fides libraries in the PyPI ecosystem. The issue involves ethyca fides has a privacy request identity verification bypass vulnerability via duplicate detection. Remediation is available by upgrading affected packages to version 2.83.2.

CVE-2026-42303 at a Glance

CVE Identifier CVE-2026-42303
GHSA Identifier GHSA-qx5f-ghc2-7g5c
Severity MODERATE
CVSS v3.1 Base Score N/A
CWE Classification CWE-841: Improper Enforcement of Behavioral Workflow
Affected Product Ethyca fides
Package Ecosystem PyPI
Published Date
Last Updated

How to Fix CVE-2026-42303

To remediate this vulnerability, upgrade all affected Ethyca fides dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

ethyca-fides fixed: 2.83.2
pip install ethyca-fides>=2.83.2
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

pip show ethyca-fides

How to Check if You Are Affected

To determine whether your Python environment is affected by CVE-2026-42303, inspect your installed packages using pip:

pip show ethyca-fides

Analyze the terminal output to locate any version of Ethyca fides in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 2.83.2), your application is affected.

Note: The pip show ethyca-fides command checks currently installed packages in your active Python environment.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-841: Improper Enforcement of Behavioral Workflow, where the product supports a session in which more than one behavior must be performed by an actor, but it does not properly ensure that the actor performs the behaviors in the required sequence. In Ethyca fides, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### Summary Fides deployments that enable both subject identity verification and duplicate privacy request detection are affected by a vulnerability in which an administrator can approve a privacy request whose identity was never verified. For erasure policies, this can result in unauthorized deletion of a data subject's records across every integration configured in the affected deployment. A related lower-severity denial-of-service issue, in which an unauthenticated attacker could prevent a legitimate data subject from completing their own privacy requests, is also patched in the fix for this vulnerability. ### Am I affected? This vulnerability only affects deployments that use Fides's privacy request (data subject request) features, also known collectively as "Lethe". Deployments that do not submit, process, or manage privacy requests through Fides are not affected. Within deployments that do use privacy request features, your deployment is affected if both of the following settings are effectively set to `true`: - `subject_identity_verification_required` - `privacy_request_duplicate_detection.enabled` Both settings default to `false`. Each setting can be configured in multiple places. If the same setting is configured in more than one place, Fides resolves conflicts in the following precedence order, highest priority first: 1. **Admin UI / configuration API** - stored in the application database and applied at runtime 2. **Environment variables** - read at webserver startup 3. **`fides.toml`** - read at webserver startup 4. **Default value** - used if none of the above set the value To determine whether your deployment is affected, check each setting in every location that applies to your configuration management. **`subject_identity_verification_required`** - `fides.toml`: under the `[execution]` section as `subject_identity_verification_required = true` - Environment variable: `FIDES__EXECUTION__SUBJECT_IDENTITY_VERIFICATION_REQUIRED=true` - No Admin UI control - this setting is not exposed through the Admin UI and cannot be set via the configuration API **`privacy_request_duplicate_detection.enabled`** - `fides.toml`: under the `[privacy_request_duplicate_detection]` section as `enabled = true` - Environment variable: `FIDES__PRIVACY_REQUEST_DUPLICATE_DETECTION__ENABLED=true` - Admin UI: **Settings → Privacy requests → Duplicate detection**, via the "Enable duplicate detection" toggle. The toggle reflects only values set through the Admin UI or configuration API. A value set via `fides.toml` or environment variable will not appear here. <figure> <img width="1392" height="940" alt="GHSA - Duplicate Detection Enabled" src="https://github.com/user-attachments/assets/e384f273-ce68-403c-adb2-93536eca5f3a" /> <figcaption> <em> The "Enable duplicate detection" toggle when it's enabled, under Settings → Privacy requests in the Admin UI. </em> </figcaption> </figure> ### Details When duplicate detection classifies a privacy request as a duplicate before its identity has been verified, the administrative interface presents that request with Approve, Deny, and Delete options. An administrator performing routine duplicate request triage may approve such a request without realising the identity was never verified. The request is then processed as if verification had succeeded. An attacker exploits this by submitting two privacy requests using a target's email address, never completing the OTP verification. The second request is classified as a duplicate and becomes approvable through the administrative interface. The fix for this vulnerability also patches a lower-severity issue, present in versions `2.82.0` through `2.83.1`, in which a legitimate data subject could not complete identity verification on a privacy request that had been classified as a duplicate, allowing an unauthenticated attacker to block that data subject from exercising their privacy rights through the affected deployment. ### Impact An unauthenticated attacker who knows a target's email address and can reach the public Privacy Center can cause an erasure privacy request to be approved by an administrator and processed without identity verification. The result is unauthorized deletion of the data subject's records across every integration configured in the affected deployment. Effects may be permanent and may cascade into downstream systems. Access privacy requests are a less meaningful vector: the resulting access package is delivered to the data subject's registered email address, not to the attacker, so the attacker does not gain the data. The request still represents unauthorized processing. ### Patches The vulnerabilities have been patched in Fides OSS version `2.83.2`. Users are advised to upgrade to this version or later to secure their systems against these threats. Fides Enterprise (fidesplus) version `2.83.2` contains the same patch. ### Workarounds Disable duplicate detection by setting `privacy_request_duplicate_detection.enabled` to `false`. This can be changed under **Settings → Privacy Requests → Duplicate detection** in the Admin UI). This fully mitigates the vulnerability and is the recommended interim workaround for deployments that cannot immediately upgrade. <figure> <p> <img width="1392" height="880" alt="GHSA - Disable Duplicate Detection" src="https://github.com/user-attachments/assets/fc0c87a1-7e40-4698-ba9e-e1721f591310" /> <figcaption> <em> The "Enable duplicate detection" toggle when it's disabled, under Settings → Privacy requests in the Admin UI. </em> </figcaption> <p> </figure> Administrators of deployments that must retain duplicate detection should deny or delete, rather than approve, any privacy request whose identity has not been verified. This reduces the likelihood of exploitation but relies on administrator vigilance during each triage action. <img width="1392" height="1044" alt="GHSA - Admin Approval of Unverified Privacy Request" src="https://github.com/user-attachments/assets/b2ad4940-40d3-468b-897e-8cca6ce4707e" /> <figcaption> <em> An administrator's view when approving an unverified privacy request in the Admin UI. </em> </figcaption> </figure> ### Severity This vulnerability has been assigned a severity of **MEDIUM**. The rating reflects the fact that exploitation requires an administrator to approve the malicious request. An attacker alone cannot cause a privacy request to be processed. The administrative interface understates the verification state of a duplicate-classified request, which increases the likelihood of inadvertent approval during routine triage, but without administrator user interaction the vulnerability is not exploitable. The related denial-of-service issue addressed in the same patch is also rated medium-severity in isolation and does not raise the overall severity of this advisory. ### References - Fides OSS `2.83.2` release: https://github.com/ethyca/fides/releases/tag/2.83.2 - Fix for the identity bypass vulnerability: [PR #7972](https://github.com/ethyca/fides/pull/7972), commit [`e7a6527`](https://github.com/ethyca/fides/commit/e7a6527b0f9fdc9887b86a89bb5453e7421882dd) - Fix for the related denial-of-service issue: [PR #7971](https://github.com/ethyca/fides/pull/7971), commit [`0e320b2`](https://github.com/ethyca/fides/commit/0e320b20934eb5af3a3d5127dba2691605d7ff37)

CVE-2026-42303 Affected Ethyca fides Versions

1 component(s)
Fixed Versions:
2.83.2
Product / Package Ecosystem Affected Versions Fixed Version
ethyca-fides
PyPI
≥ 2.75.0
< 2.83.2
2.83.2

References

Frequently Asked Questions

What is CVE-2026-42303?
CVE-2026-42303 is a security vulnerability in Ethyca fides involving Ethyca Fides has a Privacy Request Identity Verification Bypass Vulnerability via Duplicate Detection under CWE-841: Improper Enforcement of Behavioral Workflow.
Which Ethyca fides versions are affected?
Affected versions include releases prior to 2.83.2 across affected packages: ethyca-fides.
What version fixes CVE-2026-42303?
Upgrading to 2.83.2 (or the latest patched release for your respective branch) resolves the vulnerability.
Is ethyca-fides affected?
Yes, ethyca-fides is affected in releases prior to 2.83.2. Upgrade your dependency to 2.83.2 or later.
What CWE is associated with CVE-2026-42303?
CVE-2026-42303 is classified under CWE-841: Improper Enforcement of Behavioral Workflow (The product supports a session in which more than one behavior must be performed by an actor, but it does not properly ensure that the actor performs the behaviors in the required sequence.).
How can I check PyPI dependencies for CVE-2026-42303?
Run the dependency tree command: 'pip show ethyca-fides'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-qx5f-ghc2-7g5c",
  "modified" : "2026-05-13T16:26:42Z",
  "published" : "2026-05-05T21:11:37Z",
  "aliases" : [ "CVE-2026-42303" ],
  "summary" : "Ethyca Fides has a Privacy Request Identity Verification Bypass Vulnerability via Duplicate Detection",
  "details" : "### Summary\n\nFides deployments that enable both subject identity verification and duplicate privacy request detection are affected by a vulnerability in which an administrator can approve a privacy request whose identity was never verified. For erasure policies, this can result in unauthorized deletion of a data subject's records across every integration configured in the affected deployment.\n\nA related lower-severity denial-of-service issue, in which an unauthenticated attacker could prevent a legitimate data subject from completing their own privacy requests, is also patched in the fix for this vulnerability.\n\n### Am I affected?\n\nThis vulnerability only affects deployments that use Fides's privacy request (data subject request) features, also known collectively as \"Lethe\". Deployments that do not submit, process, or manage privacy requests through Fides are not affected.\n\nWithin deployments that do use privacy request features, your deployment is affected if both of the following settings are effectively set to `true`:\n\n- `subject_identity_verification_required`\n- `privacy_request_duplicate_detection.enabled`\n\nBoth settings default to `false`.\n\nEach setting can be configured in multiple places. If the same setting is configured in more than one place, Fides resolves conflicts in the following precedence order, highest priority first:\n\n1. **Admin UI / configuration API** - stored in the application database and applied at runtime\n2. **Environment variables** - read at webserver startup\n3. **`fides.toml`** - read at webserver startup\n4. **Default value** - used if none of the above set the value\n\nTo determine whether your deployment is affected, check each setting in every location that applies to your configuration management.\n\n**`subject_identity_verification_required`**\n\n- `fides.toml`: under the `[execution]` section as `subject_identity_verification_required = true`\n- Environment variable: `FIDES__EXECUTION__SUBJECT_IDENTITY_VERIFICATION_REQUIRED=true`\n- No Admin UI control - this setting is not exposed through the Admin UI and cannot be set via the configuration API\n\n**`privacy_request_duplicate_detection.enabled`**\n\n- `fides.toml`: under the `[privacy_request_duplicate_detection]` section as `enabled = true`\n- Environment variable: `FIDES__PRIVACY_REQUEST_DUPLICATE_DETECTION__ENABLED=true`\n- Admin UI: **Settings → Privacy requests → Duplicate detection**, via the \"Enable duplicate detection\" toggle. The toggle reflects only values set through the Admin UI or configuration API. A value set via `fides.toml` or environment variable will not appear here.\n\n<figure>\n<img width=\"1392\" height=\"940\" alt=\"GHSA - Duplicate Detection Enabled\" src=\"https://github.com/user-attachments/assets/e384f273-ce68-403c-adb2-93536eca5f3a\" />\n<figcaption>\n<em>\nThe \"Enable duplicate detection\" toggle when it's enabled, under Settings → Privacy requests in the Admin UI.\n</em>\n</figcaption>\n</figure>\n\n### Details\n\nWhen duplicate detection classifies a privacy request as a duplicate before its identity has been verified, the administrative interface presents that request with Approve, Deny, and Delete options. An administrator performing routine duplicate request triage may approve such a request without realising the identity was never verified. The request is then processed as if verification had succeeded.\n\nAn attacker exploits this by submitting two privacy requests using a target's email address, never completing the OTP verification. The second request is classified as a duplicate and becomes approvable through the administrative interface.\n\nThe fix for this vulnerability also patches a lower-severity issue, present in versions `2.82.0` through `2.83.1`, in which a legitimate data subject could not complete identity verification on a privacy request that had been classified as a duplicate, allowing an unauthenticated attacker to block that data subject from exercising their privacy rights through the affected deployment.\n\n### Impact\n\nAn unauthenticated attacker who knows a target's email address and can reach the public Privacy Center can cause an erasure privacy request to be approved by an administrator and processed without identity verification. The result is unauthorized deletion of the data subject's records across every integration configured in the affected deployment. Effects may be permanent and may cascade into downstream systems.\n\nAccess privacy requests are a less meaningful vector: the resulting access package is delivered to the data subject's registered email address, not to the attacker, so the attacker does not gain the data. The request still represents unauthorized processing.\n\n### Patches\n\nThe vulnerabilities have been patched in Fides OSS version `2.83.2`. Users are advised to upgrade to this version or later to secure their systems against these threats.\n\nFides Enterprise (fidesplus) version `2.83.2` contains the same patch.\n\n### Workarounds\n\nDisable duplicate detection by setting `privacy_request_duplicate_detection.enabled` to `false`. This can be changed under **Settings → Privacy Requests → Duplicate detection** in the Admin UI). This fully mitigates the vulnerability and is the recommended interim workaround for deployments that cannot immediately upgrade.\n\n<figure>\n<p>\n<img width=\"1392\" height=\"880\" alt=\"GHSA - Disable Duplicate Detection\" src=\"https://github.com/user-attachments/assets/fc0c87a1-7e40-4698-ba9e-e1721f591310\" />\n<figcaption>\n<em>\nThe \"Enable duplicate detection\" toggle when it's disabled, under Settings → Privacy requests in the Admin UI.\n</em>\n</figcaption>\n<p>\n</figure>\n\nAdministrators of deployments that must retain duplicate detection should deny or delete, rather than approve, any privacy request whose identity has not been verified. This reduces the likelihood of exploitation but relies on administrator vigilance during each triage action.\n\n<img width=\"1392\" height=\"1044\" alt=\"GHSA - Admin Approval of Unverified Privacy Request\" src=\"https://github.com/user-attachments/assets/b2ad4940-40d3-468b-897e-8cca6ce4707e\" />\n<figcaption>\n<em>\nAn administrator's view when approving an unverified privacy request in the Admin UI.\n</em>\n</figcaption>\n</figure>\n\n### Severity\n\nThis vulnerability has been assigned a severity of **MEDIUM**.\n\nThe rating reflects the fact that exploitation requires an administrator to approve the malicious request. An attacker alone cannot cause a privacy request to be processed. The administrative interface understates the verification state of a duplicate-classified request, which increases the likelihood of inadvertent approval during routine triage, but without administrator user interaction the vulnerability is not exploitable.\n\nThe related denial-of-service issue addressed in the same patch is also rated medium-severity in isolation and does not raise the overall severity of this advisory.\n\n### References\n\n- Fides OSS `2.83.2` release: https://github.com/ethyca/fides/releases/tag/2.83.2\n- Fix for the identity bypass vulnerability: [PR #7972](https://github.com/ethyca/fides/pull/7972), commit [`e7a6527`](https://github.com/ethyca/fides/commit/e7a6527b0f9fdc9887b86a89bb5453e7421882dd)\n- Fix for the related denial-of-service issue: [PR #7971](https://github.com/ethyca/fides/pull/7971), commit [`0e320b2`](https://github.com/ethyca/fides/commit/0e320b20934eb5af3a3d5127dba2691605d7ff37)",
  "severity" : [ {
    "type" : "CVSS_V4",
    "score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:L/VA:N/SC:N/SI:H/SA:N"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "PyPI",
      "name" : "ethyca-fides"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "2.75.0"
      }, {
        "fixed" : "2.83.2"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/ethyca/fides/security/advisories/GHSA-qx5f-ghc2-7g5c"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-42303"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/ethyca/fides/pull/7971"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/ethyca/fides/pull/7972"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/ethyca/fides/commit/0e320b20934eb5af3a3d5127dba2691605d7ff37"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/ethyca/fides/commit/e7a6527b0f9fdc9887b86a89bb5453e7421882dd"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/ethyca/fides"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/ethyca/fides/releases/tag/2.83.2"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-288", "CWE-306", "CWE-841" ],
    "severity" : "MODERATE",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-05-05T21:11:37Z",
    "nvd_published_at" : "2026-05-12T18:17:24Z"
  }
}