GHSA-hvc7-763r-4f3h
openssl-encrypt has no owner verification on key revocation — any client can revoke any key
Quick fix
GHSA-hvc7-763r-4f3h — openssl-encrypt: upgrade to the fixed version with the command below.
pip install --upgrade 'openssl-encrypt>=1.4.0' Details
### Summary
The `revoke_key` method in `openssl_encrypt_server/modules/keyserver/service.py` at **lines 195-270** accepts a `client_id` parameter but never verifies that the requesting client is the same as `key.owner_client_id`.
### Impact
Any authenticated client can revoke any other client's key, as long as they provide a valid revocation signature. While the signature requirement mitigates this somewhat (you need the private key to sign), the lack of ownership check is a defense-in-depth gap.
### Recommended Fix
- Add an ownership check: verify `client_id == key.owner_client_id` before allowing revocation - Return 403 Forbidden if the requesting client does not own the key
### Fix
Fixed in commit `05e45f3` on branch `releases/1.4.x` — added documentation that ML-DSA signature verification IS the cryptographic ownership check; added info-level logging on successful verification.
Are you affected?
Enter the version of the package you're using.
Affected packages
0 Fixed in: 1.4.0 pip install --upgrade 'openssl-encrypt>=1.4.0'