GitHub Security Advisory: GHSA-qx5f-ghc2-7g5c
Package: ethyca-fides (PIP)
Severity: MODERATE (CVSS 0.0)
CWE: CWE-288: Authentication Bypass Using an Alternate Path or Channel, CWE-306: Missing Authentication for Critical Function, CWE-841: Improper Enforcement of Behavioral Workflow
Vulnerable versions: >= 2.75.0, < 2.83.2
Patched in: 2.83.2

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