Summary
presidio-anonymizer 2.2.364 declares cryptography (>=48.0.1,<49.0.0). GHSA-g6cj-pr64-35w5 (CVE-2026-69247) affects cryptography >=44.0.0,<50.0.0 and is first patched in 50.0.0. Downstream projects that depend on presidio-anonymizer therefore cannot take the patched release without dropping presidio-anonymizer.
This is the same shape as #2143, which was resolved quickly by #2144 and shipped in 2.2.364. The advisory window has since moved past that ceiling again.
What downstream sees
Dependabot cannot open a fix pull request; resolution fails outright:
No solution found when resolving dependencies:
Because presidio-anonymizer>=2.2.364 depends on cryptography>=48.0.1,<49.0.0
and your project depends on cryptography==50.0.0, we can conclude that your
project and presidio-anonymizer>=2.2.364 are incompatible.
The security alert stays open with no available remediation, which is awkward for any downstream project that publishes its own security posture.
Request
Relax the cryptography upper bound in presidio-anonymizer to admit 50.0.0.
I appreciate the bound exists for a reason, so two narrower alternatives if a full relax is unwelcome:
- Widen to
>=48.0.1,<51.0.0, keeping a major-version ceiling while admitting the patched release.
- Drop the upper bound and rely on the lower bound plus lockfiles, which is what most consumers of a library-style package expect.
I notice #2221 bumps cryptography to 50.0.0 in presidio-analyzer/uv.lock, but presidio-anonymizer's declared dependency is the one that constrains downstream resolution, and it is unchanged on main.
Not blocking, for context
In our case the vulnerable code path is unreachable: we use only Scrypt, AESGCM, and InvalidTag, and never PKCS#7 EnvelopedData or RSA decryption. So this is not an exploitability report. It is that the pin prevents a clean upgrade and leaves an unresolvable high-severity alert on downstream repositories.
Environment
presidio-anonymizer 2.2.364
presidio-analyzer 2.2.364
- Python 3.11 to 3.13, resolved with uv
Summary
presidio-anonymizer2.2.364 declarescryptography (>=48.0.1,<49.0.0). GHSA-g6cj-pr64-35w5 (CVE-2026-69247) affectscryptography >=44.0.0,<50.0.0and is first patched in 50.0.0. Downstream projects that depend onpresidio-anonymizertherefore cannot take the patched release without droppingpresidio-anonymizer.This is the same shape as #2143, which was resolved quickly by #2144 and shipped in 2.2.364. The advisory window has since moved past that ceiling again.
What downstream sees
Dependabot cannot open a fix pull request; resolution fails outright:
The security alert stays open with no available remediation, which is awkward for any downstream project that publishes its own security posture.
Request
Relax the
cryptographyupper bound inpresidio-anonymizerto admit 50.0.0.I appreciate the bound exists for a reason, so two narrower alternatives if a full relax is unwelcome:
>=48.0.1,<51.0.0, keeping a major-version ceiling while admitting the patched release.I notice #2221 bumps
cryptographyto 50.0.0 inpresidio-analyzer/uv.lock, butpresidio-anonymizer's declared dependency is the one that constrains downstream resolution, and it is unchanged on main.Not blocking, for context
In our case the vulnerable code path is unreachable: we use only
Scrypt,AESGCM, andInvalidTag, and never PKCS#7 EnvelopedData or RSA decryption. So this is not an exploitability report. It is that the pin prevents a clean upgrade and leaves an unresolvable high-severity alert on downstream repositories.Environment
presidio-anonymizer2.2.364presidio-analyzer2.2.364