CVE-2013-2104: python-keystoneclient Token Expiry Check Bypass
Summary
CVE-2013-2104: python-keystoneclient before 0.2.4, as used in OpenStack Keystone (Folsom), does not properly check expiry for PKI tokens, which allows remote authenticated users to (1) retain use of a token after it has expired, or (2)... Affects python-keystoneclient versions < 0.2.4. Fixed in 0.2.4. How to fix ↓
Also tracked for
- python-keystoneclient · Debian:11
The same CVE-2013-2104 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
python-keystoneclient is a Python library used in OpenStack Keystone (Folsom) for interacting with the Keystone identity service. It provides authentication and authorization services for other OpenStack services. The library allows users to manage and authenticate tokens for accessing OpenStack resources.
Vulnerability Detail
The vulnerability identified as CVE-2013-2104 affects python-keystoneclient versions prior to 0.2.4. It relates to the improper expiry check for PKI tokens. This flaw enables remote authenticated users to exploit two scenarios: (1) retain the use of a token even after it has expired, and (2) utilize a revoked token once it expires. The absence of proper token expiry validation can lead to unauthorized access and potential security breaches within OpenStack Keystone deployments.
How To Fix
Latest published version: 6.0.0 as of 23 Oct 2026
pip install --upgrade "python-keystoneclient==6.0.0"
Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.
If you need the minimum change
0.2.4
This is the first release that contains the fix.
pip install --upgrade "python-keystoneclient==0.2.4"
Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →
Workaround
As a temporary workaround, users can manually implement additional token expiry checks within their applications or scripts that utilize python-keystoneclient. This can be achieved by validating the token's expiry time against the current time before allowing any further operations. Here's an example in Python:
import time
from keystoneclient import session
def validate_token_expiry(token):
current_time = int(time.time())
if token.expires_at < current_time:
raise Exception('Token has expired')
# Usage
token = session.get_token()
validate_token_expiry(token)
Conclusion
The vulnerability identified as CVE-2013-2104 in python-keystoneclient allows remote authenticated users to bypass token expiry checks, potentially leading to unauthorized access and security breaches. It is crucial to upgrade to python-keystoneclient version 0.2.4 or later to mitigate this vulnerability. Additional token expiry checks can be implemented as a temporary workaround. For further support and assistance in vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for python-keystoneclient →
FAQ
python-keystoneclient is a Python library used in OpenStack Keystone (Folsom) for authentication and authorization services. It allows users to manage and authenticate tokens for accessing OpenStack resources.
Versions of python-keystoneclient prior to 0.2.4 are affected by this vulnerability.
This vulnerability allows remote authenticated users to retain the use of expired tokens or utilize revoked tokens once they expire. This can lead to unauthorized access and potential security breaches within OpenStack Keystone deployments.
To fix this vulnerability, it is recommended to upgrade python-keystoneclient to version 0.2.4 or later. This version includes the necessary fixes to properly check the expiry of PKI tokens.
As a temporary workaround, users can manually implement additional token expiry checks within their applications or scripts that utilize python-keystoneclient. This involves validating the token's expiry time against the current time before allowing any further operations.
Related vulnerabilities
Recent vulnerabilities recorded for python-keystoneclient.