CVE-2016-6298: jwcrypto RSA 1.5 Algorithm Implementation Vulnerability

jwcrypto Updated 02 Oct 2025

Summary

01/09/2016
Yes i
Moderate
5.3

CVE-2016-6298: The _Rsa15 class in the RSA 1.5 algorithm implementation in jwa.py in jwcrypto before 0.3.2 lacks the Random Filling protection mechanism, which makes it easier for remote attackers to obtain cleartext data via a Million... Affects jwcrypto across 2 version ranges.

< 0.4.0 < eb5be5bd94c8cae1d7f3ba9801377084d8e5a7ba

Fixed in eb5be5bd94c8cae1d7f3ba9801377084d8e5a7ba. How to fix ↓

Also tracked for

The same CVE-2016-6298 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.

Free scan

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.

Check my app free

No signup required · Results in about 60 seconds

Sponsored Devnack Your last release was probably never penetration tested Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

jwcrypto is a Python package available on PyPI that provides a set of cryptographic functionalities for JSON Web Tokens (JWTs). It includes various algorithms for signing, encrypting, and decrypting JWTs. The vulnerability affects versions prior to 0.3.2 of jwcrypto. The RSA 1.5 algorithm implementation in jwcrypto's jwa.py file is vulnerable to a Million Message Attack (MMA) due to the lack of the Random Filling protection mechanism. This vulnerability makes it easier for remote attackers to obtain cleartext data.

Vulnerability Detail

The vulnerability in jwcrypto's RSA 1.5 algorithm implementation allows remote attackers to exploit the Million Message Attack (MMA) technique to obtain cleartext data. The RSA 1.5 algorithm, as implemented in jwcrypto, lacks the Random Filling protection mechanism. This oversight enables attackers to retrieve sensitive information by manipulating the cryptographic operations involved in the algorithm. The impact of this vulnerability can be severe, as it compromises the confidentiality of data protected by the RSA 1.5 algorithm.

How To Fix

Minimum fixed version

eb5be5bd94c8cae1d7f3ba9801377084d8e5a7ba

This is the first release that contains the fix.

pip install --upgrade "jwcrypto==eb5be5bd94c8cae1d7f3ba9801377084d8e5a7ba"

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

There is no known workaround for this vulnerability. It is crucial to update jwcrypto to the fixed version as soon as possible.

Conclusion

The jwcrypto package prior to version 0.3.2 is vulnerable to a Million Message Attack (MMA) due to the lack of the Random Filling protection mechanism in the RSA 1.5 algorithm implementation. This vulnerability allows remote attackers to obtain cleartext data, compromising the confidentiality of protected information. It is crucial to update jwcrypto to version 0.3.2 or later to mitigate this vulnerability. For further support on vulnerability remediation, contact DevNack.com.

See every vulnerability recorded for jwcrypto →

Share this vulnerability

FAQ

jwcrypto is a Python package that provides cryptographic functionalities for JSON Web Tokens (JWTs). It includes algorithms for signing, encrypting, and decrypting JWTs.

The vulnerability allows remote attackers to exploit the Million Message Attack (MMA) technique to obtain cleartext data. This compromises the confidentiality of data protected by the RSA 1.5 algorithm.

To fix this vulnerability, update jwcrypto to version 0.3.2 or later by running 'pip install --upgrade jwcrypto'.

There is no known workaround for this vulnerability. It is essential to update jwcrypto to the fixed version.

For more information about this vulnerability, you can refer to the official CVE-2016-6298 advisory or the jwcrypto GitHub repository.

Related vulnerabilities

Recent vulnerabilities recorded for jwcrypto.

How To Fix

Minimum fixed version

eb5be5bd94c8cae1d7f3ba9801377084d8e5a7ba

This is the first release that contains the fix.

pip install --upgrade "jwcrypto==eb5be5bd94c8cae1d7f3ba9801377084d8e5a7ba"

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback

Follow Vulert in Google

Get more Vulert vulnerability and dependency-security updates in Google Search and AI results.