Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Lifecycle Timeline
4DescriptionGitHub Advisory
SciTokens is a reference library for generating and using SciTokens. Prior to version 1.9.6, the KeyCache class in scitokens was vulnerable to SQL Injection because it used Python's str.format() to construct SQL queries with user-supplied data (such as issuer and key_id). This allowed an attacker to execute arbitrary SQL commands against the local SQLite database. This issue has been patched in version 1.9.6.
AnalysisAI
SQL injection in SciTokens Python library allows unauthenticated remote code execution against the local SQLite database. The KeyCache class improperly uses str.format() to construct SQL queries with attacker-controlled issuer and key_id parameters, enabling arbitrary SQL command execution. Affects all versions prior to 1.9.6. CVSS 9.8 (Critical) with network attack vector, low complexity, and no privileges required. No CISA KEV listing indicates no confirmed active exploitation at time of analysis, though the straightforward nature of SQL injection and public patch details increase exploitation risk.
Technical ContextAI
SciTokens is a Python reference library for generating and validating SciTokens (distributed authorization tokens used in scientific computing environments). The vulnerability resides in the KeyCache class, which stores cryptographic key material in a local SQLite database. Python's str.format() method was used to dynamically build SQL queries incorporating user-supplied fields like issuer URL and key_id from incoming tokens. Unlike parameterized queries, str.format() performs simple string substitution without sanitization, allowing attackers to inject SQL metacharacters and commands. This is a textbook CWE-89 (SQL Injection) vulnerability. The affected product per CPE is scitokens:scitokens (Python package), with the vulnerability present in all versions before 1.9.6. SQLite's limited privilege model confines the attack surface to the application's database, but attackers can still read sensitive cached keys, modify validation logic, or potentially achieve local code execution through SQLite extensions if enabled.
RemediationAI
Upgrade to SciTokens version 1.9.6 or later immediately. The fix replaces str.format() SQL construction with parameterized queries using SQLite's parameter substitution, eliminating injection vectors. Installation via pip: 'pip install --upgrade scitokens>=1.9.6'. Verify the installed version with 'pip show scitokens'. The patched release is available at https://github.com/scitokens/scitokens/releases/tag/v1.9.6. No workarounds are recommended; the SQL injection is structural and cannot be mitigated through configuration changes. If immediate patching is not feasible, consider isolating SciTokens-dependent services from untrusted networks and implementing strict input validation at application boundaries, though these are stopgap measures only. Review application logs for suspicious issuer or key_id values containing SQL metacharacters (quotes, semicolons, UNION keywords) as potential indicators of exploitation attempts.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
Cross-user flow execution in Langflow (< 1.9.1) lets any authenticated API-key holder run another user's flow by passing
Same weakness CWE-89 – SQL Injection
View allVendor StatusVendor
SUSE
Severity: CriticalShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-17293
GHSA-rh5m-2482-966c