VDB
KO
MEDIUM

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

PyPI / openssl-encrypt
Introduced in: 0 Fixed in: 1.4.0
Fix pip install --upgrade 'openssl-encrypt>=1.4.0'

References