GHSA-qx5f-ghc2-7g5c

Suggest an improvement
Source
https://github.com/advisories/GHSA-qx5f-ghc2-7g5c
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-qx5f-ghc2-7g5c/GHSA-qx5f-ghc2-7g5c.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-qx5f-ghc2-7g5c
Aliases
  • CVE-2026-42303
Published
2026-05-05T21:11:37Z
Modified
2026-05-13T16:46:18.843922Z
Severity
  • 6.1 (Medium) CVSS_V4 - 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 CVSS Calculator
Summary
Ethyca Fides has a Privacy Request Identity Verification Bypass Vulnerability via Duplicate Detection
Details

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, commit e7a6527
  • Fix for the related denial-of-service issue: PR #7971, commit 0e320b2
Database specific
{
    "nvd_published_at": "2026-05-12T18:17:24Z",
    "severity": "MODERATE",
    "cwe_ids": [
        "CWE-288",
        "CWE-306",
        "CWE-841"
    ],
    "github_reviewed": true,
    "github_reviewed_at": "2026-05-05T21:11:37Z"
}
References

Affected packages

PyPI / ethyca-fides

Package

Affected ranges

Type
ECOSYSTEM
Events
Introduced
2.75.0
Fixed
2.83.2

Affected versions

2.*
2.75.0
2.75.1rc0
2.75.1
2.75.2rc0
2.75.2
2.75.3b0
2.76.0rc0
2.76.0rc1
2.76.0rc2
2.76.0rc3
2.76.0
2.76.1rc0
2.76.1rc1
2.76.1
2.76.2a10
2.76.2a12
2.77.0rc0
2.77.0rc2
2.77.0rc3
2.77.0rc4
2.77.0rc5
2.77.0rc6
2.77.0rc7
2.77.0
2.77.1a0
2.77.1rc0
2.77.1rc1
2.77.1
2.77.2a0
2.77.2a1
2.77.2a2
2.77.2a3
2.77.2a4
2.77.2a5
2.77.2a9
2.77.2b0
2.77.2b1
2.78.0rc0
2.78.0rc1
2.78.0rc2
2.78.0rc3
2.78.0rc4
2.78.0rc6
2.78.0rc7
2.78.0rc8
2.78.0
2.78.1rc0
2.78.1
2.78.2a0
2.78.2rc0
2.78.2
2.78.3a2
2.78.3a3
2.78.3b0
2.78.3b1
2.79.0rc0
2.79.0rc1
2.79.0rc2
2.79.0rc3
2.79.0rc4
2.79.0rc6
2.79.0
2.79.1a0
2.79.1a1
2.79.1a2
2.79.1a3
2.79.1a4
2.79.1a5
2.79.1a6
2.80.0rc0
2.80.0rc1
2.80.0rc2
2.80.0rc3
2.80.0rc4
2.80.0rc5
2.80.0rc6
2.80.0rc7
2.80.0rc8
2.80.0rc9
2.80.0rc10
2.80.0
2.80.1a0
2.80.1a1
2.80.1rc0
2.80.1rc1
2.80.1
2.80.2a0
2.80.2a1
2.80.2a2
2.81.0rc0
2.81.0rc1
2.81.0rc2
2.81.0rc3
2.81.0
2.81.1a0
2.81.1a1
2.81.1a2
2.81.1b0
2.81.1rc0
2.81.1
2.81.2a0
2.81.2a1
2.81.2a2
2.81.2b0
2.81.2b1
2.82.0rc0
2.82.0rc1
2.82.0rc2
2.82.0rc3
2.82.0rc4
2.82.0rc5
2.82.0rc6
2.82.0rc8
2.82.0
2.82.1b0
2.82.1b1
2.82.1rc0
2.82.1
2.82.2a0
2.82.2a1
2.82.2a2
2.82.2rc0
2.82.2rc1
2.82.2
2.83.0rc0
2.83.0rc1
2.83.0rc2
2.83.0rc3
2.83.0rc4
2.83.0rc5
2.83.0rc6
2.83.0
2.83.1a0
2.83.1a1
2.83.1a2
2.83.1b0
2.83.1rc0
2.83.1
2.83.2a0
2.83.2a1
2.83.2rc0
2.83.2rc1
2.83.2rc2
2.83.2rc3

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-qx5f-ghc2-7g5c/GHSA-qx5f-ghc2-7g5c.json"