rspec/rules/S6781/python/rule.adoc

44 lines
1.6 KiB
Plaintext
Raw Normal View History

include::../../../shared_content/secrets/description.adoc[]
== Why is this an issue?
include::../../../shared_content/secrets/rationale.adoc[]
=== What is the potential impact?
If a JWT secret key leaks to an unintended audience, it can have serious
security implications for the corresponding application. The secret key is used
to encode and decode JWTs when using a symmetric signing algorithm, and an
attacker could potentially use it to perform malicious actions.
For example, an attacker could use the secret key to create their own
authentication tokens that appear to be legitimate, allowing them to bypass
authentication and gain access to sensitive data or functionality.
In the worst-case scenario, an attacker could be able to execute arbitrary code
on the application by abusing administrative features, and take over its hosting
server.
// How to fix it section
include::how-to-fix-it/flask.adoc[]
include::how-to-fix-it/python-jose.adoc[]
include::how-to-fix-it/pyjwt.adoc[]
include::how-to-fix-it/django.adoc[]
== Resources
include::../../../shared_content/secrets/resources/standards.adoc[]
=== Documentation
* Flask JWT documentation - https://flask-jwt-extended.readthedocs.io/en/stable/options.html#jwt-secret-key[Config - JWT_SECRET_KEY]
* Python-Jose documentation - https://python-jose.readthedocs.io/en/latest/jwt/index.html[JSON Web Token]
* PyJWT documentation - https://pyjwt.readthedocs.io/en/stable/api.html[API Reference]
* Simple JWT documentation - https://django-rest-framework-simplejwt.readthedocs.io/en/latest/settings.html#signing-key[SIGNING_KEY]
//=== Benchmarks