CVE-2016-1494: RSA Package Spoofing Vulnerability in Python-RSA
Summary
CVE-2016-1494: The verify function in the RSA package for Python (Python-RSA) before 3.3 allows attackers to spoof signatures with a small public exponent via crafted signature padding, aka a BERserk attack. Affects rsa versions < 3.3. Fixed in 3.3. How to fix ↓
Also tracked for
- python-rsa · Debian:11
The same CVE-2016-1494 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-RSA is a Python package that provides a simple interface for generating and verifying RSA signatures. It is commonly used for cryptographic operations in Python applications. The package allows users to generate RSA key pairs, sign data using the private key, and verify signatures using the corresponding public key.
Vulnerability Detail
The RSA package in Python-RSA before version 3.3 is vulnerable to a spoofing attack known as a BERserk attack. This vulnerability allows attackers to create forged signatures with a small public exponent by exploiting crafted signature padding. By manipulating the signature padding, an attacker can deceive the verification process and make the forged signature appear valid. This can lead to various security issues, such as unauthorized access, data tampering, or impersonation attacks.
How To Fix
Latest published version: 4.9.1 as of 22 Oct 2026
pip install --upgrade "rsa==4.9.1"
Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.
If you need the minimum change
3.3
This is the first release that contains the fix.
pip install --upgrade "rsa==3.3"
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 recommended to update the Python-RSA package to the latest version as soon as possible.
Conclusion
The Python-RSA package prior to version 3.3 is vulnerable to a spoofing attack that allows attackers to create forged signatures. To mitigate this vulnerability, it is crucial to update the package to version 3.3 or later. Failure to do so may result in unauthorized access, data tampering, or impersonation attacks. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for rsa →
FAQ
This vulnerability allows attackers to spoof signatures, potentially leading to unauthorized access, data tampering, or impersonation attacks.
You can use Vulert's playground at Vulert Scanner to check if your application is affected by this vulnerability. Simply provide your Pipfile.lock file, and Vulert will analyze it for any open-source vulnerabilities, including this one.
While there is no known public exploit for this vulnerability, it is still crucial to update the Python-RSA package to prevent potential attacks.
The only effective mitigation is to update the Python-RSA package to version 3.3 or later. It is recommended to do so as soon as possible.
Yes, you can manually verify signatures using the updated Python-RSA package. By ensuring that the package is updated to version 3.3 or later, you can mitigate the risk of signature spoofing.
Related vulnerabilities
Recent vulnerabilities recorded for rsa.