You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Vulnerability on dependency (ecdsa), not planned to be fixed #341
The ecdsa package is a requirement for this project. There is a vulnerability affecting the latest version (0.18.0), but the maintainers don't plan to fix it.
More information here: GHSA-wj6h-64fc-37mp
changed the title [-]Vulnerability on dependency, not planned to be fixed (ecdsa)[/-][+]Vulnerability on dependency (ecdsa), not planned to be fixed[/+]on Jan 24, 2024
This library was not designed with security in mind. If you are processing data that needs to be protected we suggest you use a quality wrapper around OpenSSL.
So I would ask, what is it being used for in this project?
Edit: It seems this repository is abandoned (#332). The solution is to get away from python-jose as a dependency. My team's requirements are met by PyJWT which is 4x more popular (by stars) but has 5x fewer open issues.
Reacted by Haziel Sánchez, Mathieu Ruellan - Pro, rkelley-eab, José Luis López Sánchez, Ryan Thomson, Florian Theurich, Sammy Chang, Manisha Kabir, Jeffrey, SM and 6 more
In other words, ensure you’re using the cryptography backend. You can also uninstall the ecdsa library, even though it’s unused when using the cryptography backend.
EDIT: As more CVEs are uncovered and this project is stale, I've migrated to PyJWT.
Reacted by syntaxaire, baldursson, Abed and leo lee
Is there any desire from the community to fork this project? I see a similar issue with the alternatives in that there isn't a strong community backing and feel as if we'll be back in the same situation sooner rather than later swapping one out for the other.
Everyone makes the assumption that pyjwt has a 1:1 to API and that enterprise grade software can just up and switch large implementations. It's likely less work for some of the community to fork and maintain than to switch to another library.
Less work for who? Your enterprise? Sounds to me that you want a "community" to do the work for you, unpaid.
"Enterprise grade software" developers should most certainly be able to get rid of a dependency or maintain a fork. There's many suggestions for alternatives in this issue, and in the other issues created the last 12 months.
This library has multiple CVEs, is not maintained, and you should've migrated ages ago.
@JonasKs I wasn't suggesting that. I was going to fork it myself, but no need as you and other have clearly pointed out. Pride before the fall...
The main change is adopting a few types that were not required before, i.e. passing in an instance of PyJWK and an alg to decode instead of a dictionary for the key.
Reacted by Jonas Krüger Svensson and James McKinney
Activity
[-]Vulnerability on dependency, not planned to be fixed (ecdsa)[/-][+]Vulnerability on dependency (ecdsa), not planned to be fixed[/+]syntaxaire commentedon Jan 24, 2024
I was also brought here by security alerts this morning.
From the python-ecdsa security policy, which the maintainers cite in their reply:
So I would ask, what is it being used for in this project?
Edit: It seems this repository is abandoned (#332). The solution is to get away from python-jose as a dependency. My team's requirements are met by PyJWT which is 4x more popular (by stars) but has 5x fewer open issues.
JonasKs commentedon Jan 30, 2024
This project allow you to use multiple backends, one of them is cryptography, as is the solution suggested solution.
It’s all there, in the README: https://github.com/mpdavis/python-jose?tab=readme-ov-file#cryptographic-backends
In other words, ensure you’re using the
cryptographybackend. You can also uninstall theecdsalibrary, even though it’s unused when using thecryptographybackend.EDIT: As more CVEs are uncovered and this project is stale, I've migrated to PyJWT.
lsmith77 commentedon Feb 2, 2024
guess it makes more sense to just migrate to https://github.com/jpadilla/pyjwt
yaronbenezra commentedon Feb 15, 2024
hello,
The dependence on this library on ecdsa exposes us to several attacks :
ecdsa Missing Encryption of Sensitive Data [CVSS 7.4]
and also ecdsa Timing Attack [CVE-2024-23342]
The ECDSA is not maintained and not built for production:
https://github.com/tlsfuzzer/python-ecdsa
Why you are still using it, can you please dispose of it?
I think if you continue to use them you also need to add the following note to your project:
" NOTE: This library should not be used in production settings, see Security for more details."
please help the world to be a safer
JonasKs commentedon Feb 15, 2024
@yaronbenezra , did you even read my reply?
mathieuruellanmyscript commentedon Feb 15, 2024
Perhaps a stupid question: If it works with other backends, why not removing ecdsa backend?
lsmith77 commentedon Feb 15, 2024
The package is not maintained, so no changes can be done to it.
jpmckinney commentedon Mar 27, 2024
Anyone know how to replace jose's
jwk.constructwhen using PyJWT?I documented other migration steps at jpadilla/pyjwt#942
Merinorus commentedon Jun 24, 2024
For information, I was using JWE only from this lib in an internal project and we ended up using jwcrypto.
Classical scenario: Alice encrypts the message with Bob's public key. Bob decodes the message with his private key.
With python-jose (deprecated):
With jwcrypto:
jamescrowley321 commentedon Jul 9, 2024
Is there any desire from the community to fork this project? I see a similar issue with the alternatives in that there isn't a strong community backing and feel as if we'll be back in the same situation sooner rather than later swapping one out for the other.
jpmckinney commentedon Jul 9, 2024
pyjwt (see my earlier comment) is much bigger than python-jose
https://pypistats.org/packages/pyjwt
https://pypistats.org/packages/python-jose
jwcrypto is smallest: https://pypistats.org/packages/jwcrypto
Anyway, no need to fork - just use pyjwt.
jamescrowley321 commentedon Aug 24, 2024
Everyone makes the assumption that pyjwt has a 1:1 to API and that enterprise grade software can just up and switch large implementations. It's likely less work for some of the community to fork and maintain than to switch to another library.
JonasKs commentedon Aug 25, 2024
Less work for who? Your enterprise? Sounds to me that you want a "community" to do the work for you, unpaid.
"Enterprise grade software" developers should most certainly be able to get rid of a dependency or maintain a fork. There's many suggestions for alternatives in this issue, and in the other issues created the last 12 months.
This library has multiple CVEs, is not maintained, and you should've migrated ages ago.
jamescrowley321 commentedon Aug 25, 2024
@JonasKs I wasn't suggesting that. I was going to fork it myself, but no need as you and other have clearly pointed out. Pride before the fall...
The main change is adopting a few types that were not required before, i.e. passing in an instance of
PyJWKand analgtodecodeinstead of a dictionary for thekey.Migrate from python-jose to PyJWT
Migrate from python-jose to PyJWT
fix(security): ignore ecdsa vulnerability with no available fix
lepture commentedon Nov 4, 2025
We have a migration guide from python-jose to joserfc: https://jose.authlib.org/en/migrations/python-jose/
fix: ignore ecdsa vulnerability false positive in security scan